在python中,如果我們列印一些物件,它會在列印函式觸發時顯示它們的屬性。例如:
print(int(69)) # 69
不像我自己定義的這樣的類:
class Foo:
def __init__(self,oke):
self.oke = oke
print(Foo('yeah')) # <__main__.Foo object at 0x000001EB00CDEEB0>
為什么它不回傳 oke 屬性?相反,它顯示物件的記憶體地址?
我希望輸出將是:
Foo(oke='yeah')
我知道我可以定義方法 getter get_oke(),但我想一次列印一個物件中的所有屬性。
uj5u.com熱心網友回復:
將__repr__方法添加到您的類。
從檔案
如果可能的話,這應該看起來像一個有效的 Python 運算式,可用于重新創建具有相同值的物件
class Foo:
def __init__(self,oke):
self.oke = oke
def __repr__(self):
return f'Foo(oke="{self.oke}")'
print(Foo('yeah')) # Foo(oke="yeah")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/434672.html
標籤:python-3.x 班级 目的
上一篇:想知道演算法的時間復雜度
