Python构造函数报错:TypeError: People() takes no arguments
养浩然之气,做博学之人
问题
类的构造函数使用时报错如下:
Traceback (most recent call last):
File "D:/PythonProjects/Demo/8classDemo.py", line 57, in <module>
xwy2 = People('小望云', 2, '女')
TypeError: People() takes no arguments
代码
代码语言:javascript复制class People:
# 类变量
name = ''
age = 0
sex = '男'
# 构造函数
def __int__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def speak(self):
print('name:', self.name, ' age:', self.age, ' sex:', self.sex)
解决
检查构造函数 def __init__(self, , ): 是不是写成了 def __int__(self, , ):
或者是少了个下划线,__init__ ,前后各两个_下划线。
哈哈,没bug的程序员不是好程序员,出现这样错误的程序员一定是个假程序员。
总结
1)__init__ init前后各两个下划线_
2)如果不是1)中问题,就是参数问题, 重写构造函数后,参数必须和构造函数所必须参数一致