class A: def __init__(self,name,age): self.name=name self.age=age class Person: school = 'oldboy' def __init__(self,name,age): self.name=name self.age=age def study(self): print('study....') class Teacher(Person): def __init__(self,name,age,level): A.__init__(self,name,age) self.level=level class Student(Person): school = 'yyyy' def __init__(self,name,age,course): Person.__init__(self,name,age) self.course=course def study(self): Person.study(self) print("%s學生在學習"%self.name)
class Person(object): school = 'oldboy' def __init__(self,name,age): self.name=name self.age=age def study(self): print('study....') class Student(Person): school = 'yyyy' def __init__(self,name,age,course): #super() 會按照mro列表拿到父類對象 super().__init__(name,age) # super(Student,self).__init__(name,age) self.course=course def study(self): Person.study(self) super().study() print("%s學生在學習"%self.name) stu1=Student('wed',19,"Python") stu1.study() print(Student.__mro__)
study....python
study....學習
wed學生在學習
(<class 'main.Student'>, <class 'main.Person'>, <class 'object'>)code
class A: def f1(self): print('A.f1') class B: def f1(self): print('B.f1') def f2(self): print('B.f2') super().f1() # return 'xxxxx' #class C(A,B): #注意這個順序,這個順序報錯 class C(B,A): def f1(self): print('C.f1') c=C() c.f2() print(C.mro())
B.f2
A.f1對象
[<class 'main.C'>, <class 'main.B'>, <class 'main.A'>, <class 'object'>]繼承