要在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__
方法,可以讓打印對象更加優雅和易讀。