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

首頁 > 編程 > Python > 正文

python類繼承與子類實例初始化用法分析

2020-02-23 00:47:13
字體:
來源:轉載
供稿:網友

本文實例講述了python類繼承與子類實例初始化用法。分享給大家供大家參考。具體分析如下:

[ 先貼參考書籍原文(中文英文對照)]
__init__方法介紹:
If a base class has an __init__() method the derived class's __init__() method must explicitly call it to ensure proper initialization of the base class part of the instance; for example: "BaseClass.__init__(self, [args...])"
As a special contraint on constructors, no value may be returned; doing so will cause a TypeError to be raised at runtime.

如果其基類也具有__init__(), 必須顯式地在__init__()調用它, 以保證能夠適當地初始化它的基類部分;例如: "BaseClass.__init__(self, [args...])"作為構造器的特殊情況, 它沒有值被返回, 如果返回某個值, 會在運行時拋出異常TypeError.

1.子類定義了__init__方法時若未顯示調用基類__init__方法,python不會幫你調用,解釋運行都Ok

class A():  def __init__(self):    print 'a'class B(A):  def __init__(self):    print 'b'if __name__=='__main__':  b=B()>>> b

2.子類未定義__init__方法時,python會自動幫你調用首個基類的__init__方法,注意是首個。即:子類繼承自多個基類時,只有第一個基類的__init__方法會被調用到:

class A:  def __init__(self):    print 'a'class B:  def __init__(self):    print 'b'class C(B):  def __init__(self):    print 'c'  passclass D1(A,B,C):  passclass D2(B,A,C):  passclass D3(C,B,A):  passif(__name__=='__main__'):  print 'd1------->:'  d1=D1()  print 'd2------->:'  d2=D2()  print 'd3------->:'  d3=D3()>>> d1------->:ad2------->:bd3------->:c

3)基類未定義__init__方法時,若此時子類顯示調用基類__init__方法時,python向上超找基類的基類的__init__方法并調用,實質同2

class A:  def __init__(self):    print 'a'class B:  def __init__(self):    print 'b'class C1(B,A):  passclass C2(A,B):  passclass D1(C1):  def __init__(self):    C1.__init__(self)class D2(C2):  def __init__(self):    C2.__init__(self)if(__name__=='__main__'):  print 'd1------->:'  d1=D1()  print 'd2------->:'  d2=D2()>>> d1------->:bd2------->:a

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 恩平市| 东兰县| 全州县| 延安市| 宝鸡市| 海淀区| 邵阳市| 城市| 惠水县| 辽宁省| 来安县| 稷山县| 三门县| 全椒县| 康马县| 怀化市| 仙居县| 綦江县| 怀宁县| 洛南县| 呼伦贝尔市| 贵阳市| 仙游县| 凤庆县| 托克托县| 黔南| 鹤岗市| 安乡县| 蕉岭县| 和田县| 临武县| 永城市| 崇义县| 庐江县| 曲周县| 淄博市| 陆河县| 江油市| 定边县| 盱眙县| 大方县|