【Python学习】Python构造函数报错:TypeError: People() takes no arguments

举报
孙小北 发表于 2021/12/12 18:46:02 2021/12/12
【摘要】 问题类的构造函数使用时报错如下:Traceback (most recent call last):  File "D:/PythonProjects/Demo/8classDemo.py", line 57, in <module>    xwy2 = People('小望云', 2, '女')TypeError: People() takes no arguments代码class Pe...

问题

类的构造函数使用时报错如下:

Traceback (most recent call last):

  File "D:/PythonProjects/Demo/8classDemo.py", line 57, in <module>

    xwy2 = People('小望云', 2, '女')

TypeError: People() takes no arguments

代码

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)中问题,就是参数问题, 重写构造函数后,参数必须和构造函数所必须参数一致

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。