Python 魔法方法介绍
在 Python 中,魔法方法(Magic Methods)是一类特殊的内置方法,它们通常以双下划线开头和结尾(例如 __init__
、__str__
、__add__
等)。这些方法通常用于实现特定的语法或操作符行为,或者用于定义对象的行为。它们是 Python 面向对象编程中的一个重要特性,可以让类的行为更加自然和直观。
以下是一些常见的魔法方法及其用途:
1. 构造器和初始化
-
__new__
:-
用于创建类的实例。
-
是一个静态方法,通常在需要自定义实例化过程时使用。
-
返回一个类的实例。
-
示例:
class MyClass: def __new__(cls, *args, **kwargs): instance = super().__new__(cls) # 自定义实例化逻辑 return instance
-
-
__init__
:-
用于初始化类的实例。
-
是一个实例方法,通常在创建实例后被调用。
-
不返回任何值。
-
示例:
class MyClass: def __init__(self, value): self.value = value
-
2. 字符串表示
-
__str__
:-
返回对象的字符串表示,用于
print()
和str()
。 -
应该返回一个易于理解的字符串。
-
示例:
class MyClass: def __str__(self): return f"MyClass(value={self.value})"
-
-
__repr__
:-
返回对象的“官方”字符串表示ÿ
-