Python 使用魔术方法 __str__ 来自定义对象的打印输出
在 Python 中,魔术方法 __str__ 用于定义对象的字符串表示形式。当你使用 print() 函数打印对象时,或者使用 str() 函数将对象转换为字符串时,Python 会自动调用这个方法来获取对象的字符串表示。
下面是一个简单的例子,展示如何使用 __str__ 方法来自定义对象的打印输出。
实例
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Person(name={self.name}, age={self.age})"
# 创建一个 Person 对象
person = Person("Alice", 30)
# 打印对象
print(person)
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Person(name={self.name}, age={self.age})"
# 创建一个 Person 对象
person = Person("Alice", 30)
# 打印对象
print(person)
代码解析:
__init__方法是类的构造函数,用于初始化对象的属性name和age。__str__方法定义了对象的字符串表示形式。在这个例子中,它返回一个格式化的字符串,包含对象的name和age属性。- 当我们使用
print(person)打印对象时,Python 会自动调用__str__方法,并输出其返回的字符串。
输出结果:
Person(name=Alice, age=30)
通过自定义 __str__ 方法,你可以控制对象的打印输出,使其更具可读性和信息性。

Python3 实例