这本书需要一定基础,旨在让代码更加优雅。很推荐,里面会介绍一些最佳实践,以及背后的原因和设计思路。
与运算符无关的特殊方法
特殊方法是为了让解释器调用,不要本末倒置。
类别 | 方法名 | 备注 |
---|---|---|
字符串、字节序列表示形式 | __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__ |