python 类 继承 super

class OldboyPeople:
    school = 'Oldboy'

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

    def tell_info(self):
        print('<名字:%s 年龄:%s 性别:%s>' %(self.name,self.age,self.sex))

class OldboyStudent(OldboyPeople):
    def __init__(self,name,age,sex,course):
        # OldboyPeople.__init__(self,name,age,sex)
        super().__init__(name,age,sex)     #super是一个特殊的对象(绑定方法,没必要传递self)
        #会查找父类有没有__init__,没有的话按照mro列表一直往下查
        self.course=course

    def tell_info(self):
        print('我是学生: ',end='')
        # OldboyPeople.tell_info(self)
        super(OldboyStudent,self).tell_info()   #python2写法
       # 在python2中 super需要把当前类,及self 传进去

 

posted @ 2018-11-08 16:44  漂泊的蒲公英  阅读(121)  评论(0编辑  收藏  举报