#! /usr/bin/python3.4
class Student():
school = 'yi'
def __init__(self,name):
self.name = name
def showStu(self):
print("school: " + self.school)
print("name: "+self.name)
def showClass(self,num):
print("class: " + str(num))
class myStudent(Student):
school = 'er'
def __init__(self,name,num):
Student.__init__(self,name)
self.num = num
def showStu(self):
print("school: " + self.school)
print("name: "+self.name)
print("id: " + str(self.num))
def showClass(self,num):
super().showClass(num)
#class youStudent(Student,myStudent): # MRO有问题,会抛出TypeError,无法知道哪个父类最特殊(派生类特殊应该是my..但按顺序应该是S..)
class youStudent(myStudent,Student):
school = 'san'
class allStudent(youStudent,myStudent,Student):pass
if __name__ == "__main__":
a = Student("zhao")
a.showStu()
print("-------------------------")
b = myStudent("qian",21)
b.showStu()
print("-------------------------")
c = youStudent("sun",22)
c.showStu()
print(youStudent.__mro__)
print("-------------------------")
d = allStudent("li",23)
d.showStu()
print(allStudent.__mro__)
print("-------------------------")
结果: