📅  最后修改于: 2023-12-03 14:46:13.853000             🧑  作者: Mango
Python 是一种非常强大的编程语言,许多程序员都喜欢使用它。Python 中有许多有趣的功能和概念,其中之一就是 Dunder(Double underscore)。
Dunder 是 Python 中的一个简写,它指的是双下划线(__)。这些双下划线用于各种用途,例如在类中定义特殊方法或属性。这些方法或属性具有特殊的行为,并在 Python 中以特殊方式处理。
以下是 Python 中一些常见的 Dunder:
__init__
方法是 Python 中的特殊方法之一,用于创建类的实例并初始化其属性。这通常是定义类的第一个方法,并且在类实例化时自动调用。
class MyClass:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
my_instance = MyClass('hello', 'world')
__str__
方法还是一个很方便的方法,它可以让我们自定义打印对象的字符串表示。当我们使用 print()
方法打印对象时,Python 会自动调用 __str__
方法并打印它的返回值。
class MyClass:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def __str__(self):
return f'MyClass(arg1={self.arg1}, arg2={self.arg2})'
my_instance = MyClass('hello', 'world')
print(my_instance) # 输出:MyClass(arg1=hello, arg2=world)
__len__
方法可以让我们自定义返回对象的长度。它通常用于支持内置的 len()
函数。
class MyClass:
def __init__(self, items):
self.items = items
def __len__(self):
return len(self.items)
my_instance = MyClass([1, 2, 3, 4])
print(len(my_instance)) # 输出:4
Dunder 是 Python 中一个非常有用的功能,它允许我们自定义对象的行为并以特定的方式处理它。在我们编写 Python 代码时,了解和使用 Dunder 可以使我们的代码更加清晰和可读,同时还可以使我们的代码更加高效。