Error: '

您所在的位置:网站首页 received Error: '

Error: '

2023-02-26 01:19| 来源: 网络整理| 查看: 265

原链接:CSDN-专业IT技术社区-登录

我的总结:下面两个是不一样的:

super()._init_() -> 正确

super._init_() -> 错误原文:

1、今天,学习子类的__init__()方法的时候报了一个错误:TypeError: descriptor '__init__' requires a 'super' object but received a 'str',具体代码如下:

#子类的方法__init__() class Person(): """一个人类,作为父类""" def __init__(self,name,age,sex): """父类初始化方法""" self.name = name; self.age = age; self.sex = sex; def get_desc_info(self): print("姓名为:" + self.name + ",年龄为:" + str(self.age) + ",性别为:" + self.sex); class Student(Person): """一个学生类,作为子类""" def __init__(self,name,age,sex): """子类初始化方法""" super.__init__(name,age,sex); student = Student('林梓然',26,'男'); student.get_desc_info();

运行后报如下图所示:

2、原因和解决办法:

Traceback错误提示18行,super.__init__(name,age,sex); 这一行代码出现问题,错误信息是描述符‘__init__’需要一个‘super’对象,但接收到一个‘str’。原因就是代码写错了,没注重细节,解决办法,将上面18行代码改下便可以了:

super().__init__(name,age,sex);

运行后便正常输出了:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3