Error: ' |
您所在的位置:网站首页 › received › Error: ' |
原链接: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 |