每當我嘗試運行此代碼時,我都會收到 TypeError: 'bool' object is not callable。如何修復此代碼以使其在嘗試列印 bike.blue() 時得到一個布林值?
class Colour():
def __init__(self):
self.blue = False
def blue(self) -> bool:
return self.blue
bike = Colour()
print(bike.blue())
uj5u.com熱心網友回復:
在您的方法中,您在實體上__init__創建一個屬性。blue這會隱藏blue()在您的類上定義的方法,因此您不能再將該方法作為實體的屬性來訪問。self.blue()then 是一樣的False(),你可以看到為什么這會給你一個錯誤。
將實體屬性命名為其他名稱,例如_blue.
uj5u.com熱心網友回復:
當你定義類時,self.blue是一個函式。但是當你__init__運行時,你會洗掉函式,并分配一個布林值。之后,obj.blue回傳布林值,而不是函式。
給類變數賦予與成員函式相同的名稱絕不是一個好主意。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/462506.html
上一篇:使用介面或類定義變數
