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__
方法,你可以控制对象的打印输出,使其更具可读性和信息性。
点我分享笔记