Python 中的每个特殊方法

主要观点: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 练习来巩固所学。
阅读 31
0 条评论