是的,Python的print方法可以輸出自定義對象。
在Python中,可以使用__str__()和__repr__()方法來自定義對象的打印輸出格式。
str()方法返回一個可讀性高的字符串形式,用于顯示給用戶。
repr()方法返回一個明確的、能用來復現該對象的字符串形式,用于開發人員調試代碼。
如果一個類沒有定義__str__()方法,那么它的__repr__()方法會被調用,否則調用__str__()方法。
例如:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name}, {self.age} years old"
def __repr__(self):
return f"Person('{self.name}', {self.age})"
p = Person("Alice", 25)
print(p) # 輸出: Alice, 25 years old
print(repr(p)) # 輸出: Person('Alice', 25)
在這個例子中,Person類定義了__str__()和__repr__()方法,用于控制對象的打印輸出格式。當我們打印一個Person對象時,str()方法被調用,輸出一個可讀性高的字符串形式。當我們使用repr()函數打印一個Person對象時,repr()方法被調用,輸出一個明確的、能用來復現該對象的字符串形式。