国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python類繼承用法實例分析

2019-11-25 18:08:54
字體:
來源:轉載
供稿:網友

本文實例講述了python類繼承用法。分享給大家供大家參考。具體方法如下:

#!/usr/bin/python# Filename: inherit.pyclass SchoolMember:  '''Represents any school member.'''  def __init__(self, name, age):    self.name = name    self.age = age    print'(Initialized SchoolMember: %s)'% self.name  def tell(self):    '''Tell my details.'''    print'Name:"%s" Age:"%s"'% (self.name, self.age),class Teacher(SchoolMember):  '''Represents a teacher.'''  def __init__(self, name, age, salary):    SchoolMember.__init__(self, name, age)    self.salary = salary    print'(Initialized Teacher: %s)'% self.name  def tell(self):    SchoolMember.tell(self)    print'Salary: "%d"'% self.salaryclass Student(SchoolMember):  '''Represents a student.'''  def __init__(self, name, age, marks):    SchoolMember.__init__(self, name, age)    self.marks = marks    print'(Initialized Student: %s)'% self.name  def tell(self):    SchoolMember.tell(self)    print'Marks: "%d"'% self.markst = Teacher('Mrs. Shrividya',40,30000)s = Student('Swaroop',22,75)members = [t, s]for member in members:  member.tell()# works for both Teachers and Students

運行輸出結果如下:

(Initialized SchoolMember: Mrs. Shrividya)(Initialized Teacher: Mrs. Shrividya)(Initialized SchoolMember: Swaroop)(Initialized Student: Swaroop)Name:"Mrs. Shrividya" Age:"40" Salary: "30000"Name:"Swaroop" Age:"22" Marks: "75"

它是如何工作的

為了使用繼承,我們把基本類的名稱作為一個元組跟在定義類時的類名稱之后。然后,我們注意到基本類的__init__方法專門使用self變量調用,這樣我們就可以初始化對象的基本類部分。這一點十分重要――Python不會自動調用基本類的constructor,你得親自專門調用它。

我們還觀察到我們在方法調用之前加上類名稱前綴,然后把self變量及其他參數傳遞給它。

注意,在我們使用SchoolMember類的tell方法的時候,我們把Teacher和Student的實例僅僅作為SchoolMember的實例。

另外,在這個例子中,我們調用了子類型的tell方法,而不是SchoolMember類的tell方法。可以這樣來理解,Python總是首先查找對應類型的方法,在這個例子中就是如此。如果它不能在導出類中找到對應的方法,它才開始到基本類中逐個查找。基本類是在類定義的時候,在元組之中指明的。

一個術語的注釋――如果在繼承元組中列了一個以上的類,那么它就被稱作多重繼承

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 拜城县| 峨眉山市| 青龙| 镇安县| 和顺县| 沧源| 赤壁市| 宁安市| 肇州县| 汝阳县| 邻水| 敦化市| 辽中县| 额尔古纳市| 鱼台县| 大埔县| 屯留县| 武乡县| 高唐县| 三河市| 揭东县| 海原县| 丰县| 大悟县| 大兴区| 卢龙县| 赤城县| 永春县| 遂川县| 图们市| 晋州市| 白朗县| 蒲城县| 徐闻县| 平乐县| 平罗县| 太谷县| 桦南县| 鸡西市| 睢宁县| 永川市|