大神们解惑一下,为啥这个Python代码无法找到‘sex’该对象😭

class OldboyPeople:
    school = '上交大'

    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex

    def choose_course(self):
        print('%s 正在选课' % self.name)


class Teacher(OldboyPeople):

    def __init__(self,name,age,sex,salary,level):
        # 指名道姓地跟父类OldPeople去要__init__
        OldboyPeople.__init__ = (self,name,age,sex,salary,level)
        self.salary = salary
        self.level = level

    def score(self):
        print('老师 %s 正在给学生打分' % self.name)


teacher_obj = Teacher('boy',24,'male',3000,10)
print(teacher_obj.school)
print(teacher_obj.sex)

class Teacher(OldboyPeople):
 
    def __init__(self,name,age,sex,salary,level):
        # 指名道姓地跟父类OldPeople去要__init__
        OldboyPeople.__init__ = (self,name,age,sex,salary,level)
        self.name = name
        self.sex= sex
        self.age= age
        self.salary = salary
        self.level = level

你的Teacher没有设置        self.sex= sex和  self.age= age

class OldboyPeople:
    def __init__(self,name,age,sex,salary,level):
        self.school = '上交大'

class Teacher(OldboyPeople):
    def __init__(self,name,age,sex,salary,level):
        # 指名道姓地跟父类OldboyPeople去要__init__
        super().__init__(name,age,sex,salary,level)
        self.name = name
        self.age = age
        self.sex = sex
        self.salary = salary
        self.level = level
 
    def score(self):
        print('老师 %s 正在给学生打分' % self.name)
 
 

teacher_obj = Teacher('boy',24,'male',3000,10)
print(teacher_obj.school)
print(teacher_obj.sex)

 

class OldboyPeople:
    def __init__(self,name,age,sex):
        self.school = '上交大'
        self.name = name
        self.age = age
        self.sex = sex
        
class Teacher(OldboyPeople):
    def __init__(self,name,age,sex,salary,level):
        # 指名道姓地跟父类OldboyPeople去要__init__
        super().__init__(name,age,sex)
        self.salary = salary
        self.level = level
 
    def score(self):
        print('老师 %s 正在给学生打分' % self.name)
        
teacher_obj = Teacher('boy',24,'male',3000,10)
print(teacher_obj.school)
print(teacher_obj.sex)

这样就可以继承父类的,同时添加子类的啊

OldboyPeople.__init__ = (self,name,age,sex,salary,level)   这里的等号应该是不要的吧,你再看看你那个OldboyPeople类的定义

显然看报错就知道,没有这个sex属性,继承的父类肯定也没有,不然会继承过来的

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

OldboyPeople.__init__ = (self,name,age,sex,salary,level)   这里的不需要等号

OldboyPeople.__init__ (self,name,age,sex,salary,level)