在创建一个类对象时,遇到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__是初始化函数本体!!!)

出现这个错误的原因应该是把初始化函数写错,导致类中没有对参数进行初始化,少了初始化函数,编辑器就不管你给我传的是什么东西,我都不处理了难过,大概是这样子。

牢记,牢记!


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值