這個問題在這里已經有了答案: 如何使用print() 列印類的實體? (11 個回答) __str__ 和 __repr__ 有什么區別? (25 個回答) 如何為類物件創建自定義字串表示? (5 個回答) 12 小時前關閉。
我寫了一些代碼,但不確定如何讓它按預期作業,
class Bee():
def __init__(self, name, identifier):
self.name = name
self.identifier = identifier
bee = Bee(name='Bumble', identifier=1)
print(str(bee))
->> 應該列印:1 Bumble
我想在Class Bee中創建一個函式如下:
def get_hive(self):
return '{} {}'.format(self.identifier, self.name)
但是,當我創建 Bee 類的物件時,我不確定如何分配給定的屬性而不是記憶體單元的地址。
我的代碼目前 ofc 列印如下:< main .Bee object at 0x000001EA24F49460> 而不是屬性。
uj5u.com熱心網友回復:
如果你想str(bee)按照你的描述回傳一個字串,實作一個__str__方法:
class Bee():
def __init__(self, name: str, identifier: int):
self.name = name
self.identifier = identifier
def __str__(self) -> str:
return f"{self.identifier} {self.name}"
bee = Bee('Bumble', 1)
print(bee)
印刷:
1 Bumble
請注意,它print會自動呼叫str任何還不是 a 的引數str,因此您可以只說print(bee)而不是print(str(bee))。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/365480.html
