这一章接第1章,说明常见的特殊方法实现。

本章包括以下话题:

  1. 支持用于生成对象其它表示形式的内置函数(如repr()、bytes(),等等)
  2. 使用一个类方法实现备选构造方法
  3. 扩展内置的format()和str.format()使用的格式微语言
  4. 实现只读属性
  5. 把对象变为可散列的,以便在集合中和作为dict的键使用
  6. 利用__slots__节省内存
  7. 如何以及何时使用@classmethod和@staticmethod装饰器
  8. Python的私有属性和受保护属性的用法、约定和局限
    将开发一个简单的二维欧几里得向量类型,在这个过程中涵盖上述全部话题。
    模仿Python标准对象的行为,让Vector的行为符合Python风格。

1. 对象表示形式

面向对象语言至少都有一种获取对象的字符串表示形式的标准形式。Python提供了两种方式。
1.1 repr(): 便于开发者理解的方式返回对象的字符串表示形式。
1.2 str():便于用户理解的方式返回对象的字符串表示形式。
1.3 实现__repr__和__str__特殊方法,为repr()和str()提供支持。
1.4 reprstr、__format__都返回Unicode字符串(str类型)。只有__bytes__方法应该返回字节序列(bytes类型)。

先留坑,过于复杂,直接看

中文电子书P387

相关文章:

  • 2022-12-23
  • 2021-12-21
  • 2021-12-02
  • 2021-07-16
  • 2022-12-23
  • 2022-01-16
  • 2021-09-11
猜你喜欢
  • 2021-12-14
  • 2021-06-03
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2021-08-14
相关资源
相似解决方案