📜  python 大于 dunder - Python (1)

📅  最后修改于: 2023-12-03 14:46:13.853000             🧑  作者: Mango

Python 大于 Dunder - Python

Python 是一种非常强大的编程语言,许多程序员都喜欢使用它。Python 中有许多有趣的功能和概念,其中之一就是 Dunder(Double underscore)。

什么是 Dunder

Dunder 是 Python 中的一个简写,它指的是双下划线(__)。这些双下划线用于各种用途,例如在类中定义特殊方法或属性。这些方法或属性具有特殊的行为,并在 Python 中以特殊方式处理。

Python 中的一些常见 Dunder

以下是 Python 中一些常见的 Dunder:

__init__

__init__ 方法是 Python 中的特殊方法之一,用于创建类的实例并初始化其属性。这通常是定义类的第一个方法,并且在类实例化时自动调用。

class MyClass:
    def __init__(self, arg1, arg2):
        self.arg1 = arg1
        self.arg2 = arg2
        
my_instance = MyClass('hello', 'world')
__str__

__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__ 方法可以让我们自定义返回对象的长度。它通常用于支持内置的 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 可以使我们的代码更加清晰和可读,同时还可以使我们的代码更加高效。