Python中下划线用法

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

Python中的下划线用法"Dunder"是指以双下划线开头和结尾的变量、方法或属性。这些"魔法方法"允许开发者定义类的默认行为,使得自定义类可以与内置类型一样工作。常见的魔法方法包括__init__、__repr__、__str__等。除了魔法方法,还有许多其他的魔法属性。总之,Python中有超过150个独特的魔法方法和属性,但不建议记住所有的名称,而是根据需要查找和使用。

🎯

关键要点

  • Dunder是指以双下划线开头和结尾的变量、方法或属性。

  • 魔法方法允许开发者定义类的默认行为,使自定义类与内置类型一样工作。

  • 常见的魔法方法包括__init__、__repr__、__str__等。

  • Dunder方法和属性是Python面向对象编程的强大工具。

  • 基本的Dunder方法包括__init__、__repr__和__eq__。

  • __eq__方法用于定义对象的等价性,__ne__和__hash__用于值比较。

  • 可以重载比较运算符的方法包括__lt__、__gt__、__le__、__ge__。

  • Dunder方法还用于类型转换和字符串格式化。

  • 上下文管理器使用__enter__和__exit__方法实现。

  • Python还包含控制属性访问的Dunder方法,如__getattr__、__setattr__和__delattr__。

  • 描述符是一种对象,可以挂钩访问类上附加的属性名。

  • 异步操作需要实现__aenter__和__aexit__等Dunder方法。

  • Python有许多非方法的Dunder属性,如__name__、__module__、__doc__等。

  • Python包含超过150个独特的Dunder方法和属性,不建议记住所有名称。

延伸问答

什么是Dunder方法?

Dunder方法是指以双下划线开头和结尾的变量、方法或属性,允许开发者定义类的默认行为。

常见的Dunder方法有哪些?

常见的Dunder方法包括__init__、__repr__、__str__、__eq__等。

Dunder方法如何影响对象的比较?

Dunder方法如__eq__、__ne__和__hash__用于定义对象的等价性和哈希值,影响对象的比较和存储。

如何使用Dunder方法实现上下文管理器?

上下文管理器使用__enter__和__exit__方法来定义进入和退出上下文的行为。

Python中有多少个Dunder方法和属性?

Python包含超过150个独特的Dunder方法和属性。

Dunder属性的作用是什么?

Dunder属性如__name__、__module__、__doc__等提供了关于对象的元信息。

🏷️

标签

➡️

继续阅读