第一次在我的一個項目中使用類時,我似乎在某個我無法選擇的地方犯了一個錯誤。引用類方法的TypeError
class aiRespond:
def generateResponse(self, external_input):
return external_input
def giveResponse(self, external_input):
self.generateResponse(self, external_input)
aiResponder = aiRespond()
retrieve_ai_response = aiResponder.giveResponse()
while 1:
external_input = raw_input("> ")
print retrieve_ai_response(external_input)
錯誤:
TypeError: unbound method giveResponse() must be called with aiRespond instance as first argument (got str instance instead)
我已經試過這種結構的許多不同的方式。我寧願retrieve_ai_response = aiRespond.giveResponse
在一行中,因爲我將會有很多類似的東西。
有人會介意指出我要去哪裏,爲什麼?
我還強烈建議您使用新式類(搜索差異的定義以及如何使用它們)。 Python風格指南PEP 8也是您可能想要閱讀的東西(標準Python代碼將使用其命名約定,其名稱將如「AIRespond」,「generate_response」和「ai_responder」)。 –
@ChrisMorgan謝謝你的建議。我對PEP 8特別感興趣,因爲我已經看到其他人也向其他海報提出這一點。新風格的課程似乎有點令人困惑,但我正在講述他們的一些視頻教程。謝謝 ! – abkai