Python 中的對象是指內(nèi)存中存儲數(shù)據(jù)的實體。在 Python 中,我們可以直接使用 print 函數(shù)來打印一個對象,這時候會默認(rèn)調(diào)用該對象的 __str__ 方法來返回一個字符串來進(jìn)行打印。
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})" p = Person("Tom", 20) print(p) # Person(name=Tom, age=20)
從上面的代碼中可以看出,我們定義了一個 Person 類,該類有一個 __init__ 方法用來初始化 name 和 age 屬性,還有一個 __str__ 方法來返回該對象的字符串表示形式。當(dāng)我們直接 print(p) 時,Python 會默認(rèn)調(diào)用 p 對象的 __str__ 方法,將其返回的字符串進(jìn)行打印。
在 Python 中,我們還可以直接輸出內(nèi)置類型的對象,例如 str、int、list、dict 等。
print("Hello World") # Hello World print(123) # 123 print([1, 2, 3]) # [1, 2, 3] print({"name": "Tom", "age": 20}) # {'name': 'Tom', 'age': 20}
從上述輸出結(jié)果可以看出,我們不需要顯式地調(diào)用該對象的 __str__ 方法,Python 會默認(rèn)將其轉(zhuǎn)換為字符串進(jìn)行輸出。