Error: TypeError: object() takes no parameters
Where?
使用自定义类的时候,实例类的时候传递参数,提示这个错误
Why?
因为类实例的时候,并不需要任何参数,但是给了类参数,本质上是类没有 __init__实例方法或者__init__实例方法并没有声明接收任何参数
Way?
检查 __init__函数是否写错,init拼写错误或者 __init__函数中是否传递需要初始化的参数
错误代码:
class Student(object): # init 写错了,写成 int def __int__(self, student_list): self.student_list = student_list def __getitem__(self, item): return self.student_list[item] students = Student(["beimenchuixue", "北门吹雪"])
正确代码:
class Student(object): # 把 int 改为 init def __init__(self, student_list): self.student_list = student_list def __getitem__(self, item): return self.student_list[item] students = Student(["beimenchuixue", "北门吹雪"])