主要观点:Python 中有众多双下划线(dunder)方法,可用于深度自定义自定义类与 Python 众多特性的交互,包括对象创建、比较、转换、上下文管理等方面,涵盖了几乎所有常见的操作和功能,共有 103 个“常规”dunder 方法、14 个库特定的 dunder 方法和至少 54 个其他各种类型的 dunder 属性。
关键信息:
- 3 个大多数类应有的 dunder 方法:
__init__
(初始化器)、__repr__
(自定义对象字符串表示)、__eq__
(自定义对象相等性)。 - 其他重要的 dunder 方法及用途,如
__ne__
、__hash__
、各种算术运算符相关的 dunder 方法等。 - 不同场景下的 dunder 方法,如在容器、可调用对象、异步操作等中的应用。
重要细节: - Python 文档中通常将这些方法称为“特殊方法”或“魔法方法”,很少使用“dunder 方法”这一术语,但“dunder 方法”在 Python 中是比较常见的口语表达。
- 可通过页面中的链接获取各 dunder 方法的详细信息,文末有 cheat sheet 总结所有 dunder 方法。
- 不建议记忆所有 dunder 方法,按需查找即可,且不鼓励发明自己的 dunder 方法,以免给用户带来困惑。最后鼓励通过实践相关 Python 练习来巩固所学。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。