这本书需要一定基础,旨在让代码更加优雅。很推荐,里面会介绍一些最佳实践,以及背后的原因和设计思路。
与运算符无关的特殊方法
特殊方法是为了让解释器调用,不要本末倒置。
| 类别 | 方法名 | 备注 |
|---|---|---|
| 字符串、字节序列表示形式 | __repr__,__str__,__format__,__bytes__ |
|
| 数值转换 | __abs__,__bool__,__complex__,__init__,__float__,__hash__,__index__ |
|
| 集合模拟 | __len__,__getitem__,__setitem__,__delitem__,__contains__ |
|
| 迭代枚举 | __iter__,__reversed__,__next__ |
|
| 可调用模拟 | __call__ |
|
| 上下文管理 | __enter__,__exit__ |
|
| 实例创建和销毁 | __new__,__init__,__del__ |
|
| 属性管理 | __getattr__,__getattribute__,__setattr__,__delattr__,__dir__ |
|
| 属性描述符 | __get__,__set__,__delete__ |
|
| 跟类相关的服务 | __prepare__,__instancecheck__,__subclasscheck__ |