Python __ 函数:深度解析270


在 Python 中,__ 函数是一组特殊函数,它们在类或对象的创建和操作中扮演着至关重要的角色。这些函数以双下划线开头和结尾,被称为“魔术方法”,因为它们为 Python 对象提供了一种在幕后执行特定行为的方式。

__init__ 函数

这是最常用的 __ 函数之一,也被称为构造函数。它在创建类的新实例时被调用,并负责初始化该对象的属性。例如:```python
class Person:
def __init__(self, name, age):
= name
= age
```

在这个例子中,__init__ 函数接受 name 和 age 作为参数,并将其分配给新创建的人对象的属性。

__repr__ 函数

__repr__ 函数提供了对象的官方字符串表示。它在交互式 shell 或日志文件中显示时被调用。例如:```python
class Person:
def __repr__(self):
return f"Person(name={}, age={})"
```

在这个例子中,__repr__ 函数返回一个字符串,其中包含对象的类名和属性值。

__str__ 函数

__str__ 函数提供了一个非正式的字符串表示,通常更适合用户阅读。它在使用 str() 函数转换为字符串时或在 print() 语句中被调用。例如:```python
class Person:
def __str__(self):
return f"{} ({} years old)"
```

在这个例子中,__str__ 函数返回了一个字符串,其中包含对象的名称和年龄,但不是正式的类名。

__eq__ 函数

__eq__ 函数用于确定两个对象是否相等。它在使用 == 运算符比较对象时被调用。例如:```python
class Person:
def __eq__(self, other):
return == and ==
```

在这个例子中,__eq__ 函数比較兩個 Person 物件的名稱和年齡,以確定它們是否相等。

__add__ 函数

__add__ 函数用于在两个对象之间执行加法操作。它在使用 + 运算符时被调用。例如:```python
class Number:
def __init__(self, value):
= value
def __add__(self, other):
return Number( + )
```

在这个例子中,__add__ 函数创建了一个新的 Number 对象,该对象的 value 是两个原始对象的 value 的和。

其他 __ 函数

除了上述函数之外,还有许多其他 __ 函数用于各种目的,包括:* __del__:在销毁对象时被调用
* __len__:返回对象的长度
* __getitem__:返回对象的特定元素
* __setattr__:设置对象的属性
* __new__:创建一个新的对象(通常在元类中使用)

自定义 __ 函数

开发者还可以自定义自己的 __ 函数来扩展 Python 对象的行为。例如,可以创建自定义的 __eq__ 函数来根据额外的条件进行比较。

__ 函数是 Python 中强大的工具,它们允许开发者定制对象的行为并提高代码的灵活性。通过了解这些特殊函数,开发者可以充分利用 Python 的面向对象功能,创建更健壮、可维护的应用程序。

2024-10-21


上一篇:Python 函数:掌握编程的基石

下一篇:大数据与 Python:释放数据的强大力量