日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python類繼承用法實(shí)例分析

系統(tǒng) 1788 0

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

            
#!/usr/bin/python
# Filename: inherit.py

class 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.salary

class 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.marks

t = 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


          

運(yùn)行輸出結(jié)果如下:

            
(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變量調(diào)用,這樣我們就可以初始化對象的基本類部分。這一點(diǎn)十分重要――Python不會自動調(diào)用基本類的constructor,你得親自專門調(diào)用它。

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

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

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

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

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 景东| 通化市| 库伦旗| 普洱| 苍山县| 沅江市| 商城县| 武乡县| 成安县| 曲周县| 山丹县| 马边| 三原县| 鹿邑县| 永德县| 溆浦县| 民乐县| 宣化县| 郧西县| 秦安县| 乌兰浩特市| 泰顺县| 城口县| 赤峰市| 通化市| 东丰县| 邳州市| 德兴市| 成武县| 商丘市| 密山市| 定南县| 扎兰屯市| 前郭尔| 霍林郭勒市| 丹棱县| 当阳市| 洪洞县| 南漳县| 保德县| 防城港市|