一、繼承
繼承允許開發者基於已有的類創建新的類。
如果一個類C1通過繼承已有類C而創建,則將C1稱作子類(subclass),將C稱做基類、父類或超類(base class、super class)。子類會繼承父類中定義的所有屬性和方法,另外也能夠在子類中增加新的屬性和方法。
如果一個子類只有一個父類,則將這種繼承關系稱為單繼承;如果一個子類有兩個或更多父類,則將這種繼承關系稱為多重繼承。

二、子類的定義
定義子類時需要指定父類,其語法格式為:
class 子類名(父類名1, 父類名2, …, 父類名M):
語句1
語句2
…
語句N
當M等於1時,則為單繼承;當M大於1時,則為多重繼承。
例:繼承示例。
class Person: #定義Person類 def SetName(self, name): #定義SetName方法 self.name=name #將self對應對象的name屬性賦為形參name的值 class Student(Person): #以Person類作為父類定義子類Student def SetSno(self, sno): #定義SetSno方法 self.sno=sno #將self對應對象的sno屬性賦為形參sno的值 class Teacher(Person): #以Person類作為父類定義子類Teacher def SetTno(self, tno): #定義SetTno方法 self.tno=tno #將self對應對象的tno屬性賦為形參tno的值 class TA(Student,Teacher): #以Student類和Teacher類作為父類 #定義子類TA def SetTeacher(self, teacher): #定義SetTeacher方法 self.teacher=teacher #將self對象的teacher屬性賦為形參 #teacher的值 if __name__=='__main__': stu=Student() #定義Student類對象stu stu.SetSno('1810100') #調用Student類中定義的SetSno方法 stu.SetName('李曉明') #調用Student類從Person類繼承過來的SetName #方法 print('學號:%s,姓名:%s'%(stu.sno,stu.name)) #輸出學號和姓名 t=Teacher() #定義Teacher類對象t t.SetTno('998012') #調用Teacher類中定義的SetTno方法 t.SetName('馬紅') #調用Teacher類從Person類繼承過來的SetName方法 print('教工號:%s,姓名:%s'%(t.tno,t.name)) #輸出教工號和姓名
學號:1810100,姓名:李曉明
教工號:998012,姓名:馬紅