試圖從超類 BasicToken繼承 到子類 StableCoin的值supply未被子類繼承:StableCoin有人可以解釋為什么嗎?class BasicToken: asset_class = "Crypto-Currency" def __init__(self, symbol): self.symbol = symbolclass StableCoin(BasicToken): def __init__(self, color, supply): self.color = color self.supply = supplyicon = BasicToken('icx')icxStable = StableCoin('DMM', ['Blue', 'White'])print('Icon Symbol: '+ icon.symbol)print('IcxStable Symbol: '+ icxStable.symbol)的Error:Traceback (most recent call last): File "C:/Users/Samson/Documents/PythonCourse-master/Section_04/assignment_04.py", line 30, in <module> print('IcxStable Symbol: '+ icxStable.symbol)AttributeError: 'StableCoin' object has no attribute 'symbol'
1 回答

楊魅力
TA貢獻1811條經驗 獲得超6個贊
將以下內容添加到 StableCoin 的 init
class StableCoin(BasicToken):
def __init__(self, symbol, color, supply):
super(StableCoin, self).__init__(symbol)
self.color = color
self.supply = supply
如果您使用的是 PY3,調用 super 會更容易super().__init__(symbol)。雖然上面也有效。
來到你的方法,你的理解似乎有點不正確。icon 是 BasicToken 的一個實例,icxStable 是一個單獨的對象,它是 StableCoin 的一個實例。他們沒有關系。
例如,假設我們有一個屬性為 age 的 Mammal 類,以及另一個具有附加屬性“height”的 Human(Mammal) 類,這就像構造然后blue_whale_whaley=Mammal(age=4)理解chuck_norris=Human(height=180)chuck_norris.age 是 blue_whale.age,它不是因為它們是 2不同的對象。正確構建 chuck_norris 將是chuck_norris=Human(age=50, height=180)
添加回答
舉報
0/150
提交
取消