溫馨提示×

python print方法能否輸出自定義對象

小樊
81
2024-09-25 06:43:11
欄目: 編程語言

是的,Python的print方法可以輸出自定義對象。

在Python中,可以使用__str__()和__repr__()方法來自定義對象的打印輸出格式。

str()方法返回一個可讀性高的字符串形式,用于顯示給用戶。

repr()方法返回一個明確的、能用來復現(xiàn)該對象的字符串形式,用于開發(fā)人員調(diào)試代碼。

如果一個類沒有定義__str__()方法,那么它的__repr__()方法會被調(diào)用,否則調(diào)用__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()方法被調(diào)用,輸出一個可讀性高的字符串形式。當我們使用repr()函數(shù)打印一個Person對象時,repr()方法被調(diào)用,輸出一個明確的、能用來復現(xiàn)該對象的字符串形式。

0