在創建一個類對象時,遇到object() takes no parameters的錯誤

在學習測試類時遇到的問題:

class AnonymousSurvey():
    """收集匿名調查問卷的答案"""
    
    def __ini__(self,question):
        """存儲一個問題,併爲存儲答案做準備"""
        self.question = question
        self.responses = []
        
    def show_question(self):
        """顯示調查問卷"""
        print(self.question)
        
    def store_response(self,new_response):
        """存儲單份調查問卷"""
        self.responses.append(new_response)
    
    def show_results(self):
        print("Survey result:\n")
        for response in self.responses:
            print(response)

定義了一個類,然後編寫一個可以使用它的程序:

from survey import AnonymousSurvey

#定義一個問題
question = "What's your favorite language?"
my_survey = AnonymousSurvey(question)

#顯示問題並存答案
my_survey.show_question()
print("enter 'q' at any time to quit\n")
while True:
    response = input("Language:\n")
    if response == 'q':
        break
    my_survey.store_response(response)

print("Thank you to your participated!")
my_survey.show_results()
運行,出現
TypeError: object() takes no parameters

剛開始我也很奇怪,爲什麼不能傳參創建一個實例對象呢?沒有參數我怎麼定義程序裏的問題呢?驚訝(抓狂)

仔細地檢查一遍程序,發現在初始化函數__init__這裏我竟然寫成了__ini__,omg.(__init__是初始化函數本體!!!)

出現這個錯誤的原因應該是把初始化函數寫錯,導致類中沒有對參數進行初始化,少了初始化函數,編輯器就不管你給我傳的是什麼東西,我都不處理了難過,大概是這樣子。

牢記,牢記!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章