要在Python中优雅地打印对象,可以使用内置的__str__
和__repr__
方法来定制对象的字符串表示。
例如,假设有一个名为Person
的类:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Person: {self.name} ({self.age} years old)"
def __repr__(self):
return f"Person(name={self.name}, age={self.age})"
在上面的示例中,__str__
方法用于返回对象的友好字符串表示,而__repr__
方法用于返回对象的原始表示。这样,在打印对象时,将会自动调用这两个方法。
person = Person("Alice", 30)
print(person) # 输出:Person: Alice (30 years old)
print(repr(person)) # 输出:Person(name=Alice, age=30)
通过定制__str__
和__repr__
方法,可以让打印对象更加优雅和易读。