import unittest
class Person(object):
def age(self):
print ("this is father's age")
def sex(self):
print ("this is father's sex")
class student(Person):
def student(self):
print ("student's ")
def age(self):
super(student,self).age() #继承父类
print ("this student's age") #覆盖父类
if __name__ == '__main__':
s=student()
s.age()
运行结果:
this is father's age
this student's age
[Finished in 0.1s]
1、super继承介绍
super(B, self).__init__()是这样理解的:super(B, self)首先找到B的父类(就是类A),然后把类B的对象self转换为类A的对象,然后“被转换”的类A对象调用自己的__init__函数。
2、python中super出现的TypeError: must be type, not classobj 原因及解决
python中super只能应用于新类,而不能应用于经典类
所谓新类就是所有类都必须要有继承的类,如果什么都不想继承,就继承到object类