{site_name}

{site_name}

🌜 搜索

Python支持的 "dunder"名称是指以双下划线(__)开头和结尾的特殊方法,也称为魔术方法或魔法方法

Python 𝄐 0
python支持的类型,python支持的函数,python支持什么数据类型,python支持的数据,python支持的数值类型包括,python支持哪些操作系统
Python支持的 "dunder"名称是指以双下划线(__)开头和结尾的特殊方法,也称为魔术方法或魔法方法。这些方法在Python中具有特殊含义,并且可以用于控制对象的行为。

以下是一些常见的dunder方法及其用途:

- __init__: 初始化方法,在创建对象时调用,用于设置对象的初始状态。
- __str__: 返回对象的字符串表示形式,通常用于打印对象。
- __repr__: 返回对象的可重新表示字符串,主要用于调试。
- __len__: 返回对象的长度,通常用于序列或集合类型。
- __add__: 实现对象的加法运算符。
- __eq__: 实现对象相等性比较运算符。
- __lt__: 实现对象小于比较运算符。

以下是一个简单的类示例,演示了如何使用一些常见的dunder方法:

python
class MyClass:
def __init__(self, value):
self.value = value

def __str__(self):
return f"MyClass instance with value: {self.value}"

def __repr__(self):
return f"MyClass({self.value})"

def __len__(self):
return len(str(self.value))

def __add__(self, other):
return MyClass(self.value + other.value)

def __eq__(self, other):
return self.value == other.value

def __lt__(self, other):
return self.value < other.value


使用该类的示例:

python
>>> obj1 = MyClass(5)
>>> obj2 = MyClass(10)
>>> print(obj1) # 调用__str__方法
MyClass instance with value: 5
>>> repr(obj1) # 调用__repr__方法
'MyClass(5)'
>>> len(obj1) # 调用__len__方法
1
>>> obj3 = obj1 + obj2 # 调用__add__方法
>>> obj1 == obj2 # 调用__eq__方法
False
>>> obj1 < obj2 # 调用__lt__方法
True