亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2015年04月17日 15:56:11   作者:走向星辰大海  
這篇文章主要介紹了python類繼承與子類實例初始化用法,實例分析了Python類的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了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__()調用它, 以保證能夠適當?shù)爻跏蓟幕惒糠?例如: "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'
  pass
class D1(A,B,C):
  pass
class D2(B,A,C):
  pass
class D3(C,B,A):
  pass
if(__name__=='__main__'):
  print 'd1------->:'
  d1=D1()
  print 'd2------->:'
  d2=D2()
  print 'd3------->:'
  d3=D3()
>>> 
d1------->:
a
d2------->:
b
d3------->:
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):
  pass
class C2(A,B):
  pass
class 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------->:
b
d2------->:
a

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

相關文章

  • 詳解python并發(fā)獲取snmp信息及性能測試

    詳解python并發(fā)獲取snmp信息及性能測試

    本篇文章主要介紹了詳解python并發(fā)獲取snmp信息及性能測試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 如何利用Python打開txt格式的文件

    如何利用Python打開txt格式的文件

    在機器學習中,常常需要讀取txt文本中的數(shù)據,這篇文章主要給大家介紹了關于如何利用Pythont打開txt格式的文件的相關資料,文中通過示例代碼介紹的非常詳解,需要的朋友可以參考下
    2021-10-10
  • Python?Excel數(shù)據處理之xlrd/xlwt/xlutils模塊詳解

    Python?Excel數(shù)據處理之xlrd/xlwt/xlutils模塊詳解

    在復雜的Excel業(yè)務數(shù)據處理中,三兄弟扮演的角色缺一不可。如何能夠使用xlrd/xlwt/xlutils三個模塊來實現(xiàn)數(shù)據處理就是今天的內容,希望對大家有所幫助
    2023-03-03
  • 使用Python的Bottle框架寫一個簡單的服務接口的示例

    使用Python的Bottle框架寫一個簡單的服務接口的示例

    這篇文章主要介紹了使用Python的Bottle框架寫一個簡單的服務接口的示例,基于Linux系統(tǒng)環(huán)境,需要的朋友可以參考下
    2015-08-08
  • Python3.2中的字符串函數(shù)學習總結

    Python3.2中的字符串函數(shù)學習總結

    這篇文章主要介紹了Python3.2中的字符串函數(shù)學習總結,本文講解了格式化類方法、查找 & 替換類方法、拆分 & 組合類方法等內容,需要的朋友可以參考下
    2015-04-04
  • python使用dabl幾行代碼實現(xiàn)數(shù)據處理分析及ML自動化

    python使用dabl幾行代碼實現(xiàn)數(shù)據處理分析及ML自動化

    這篇文章主要為大家分享一個名為?dabl?的開源?Python?工具包,它可以自動化機器學習模型開發(fā),包括數(shù)據預處理、特征可視化和分析、建模
    2021-11-11
  • Python對圖像進行灰度處理的代碼介紹

    Python對圖像進行灰度處理的代碼介紹

    這篇文章主要給大家介紹了關于Python對圖像進行灰度處理的相關資料,圖像灰度化是將一幅彩色圖像轉換為灰度化圖像的過程,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • python scipy卷積運算的實現(xiàn)方法

    python scipy卷積運算的實現(xiàn)方法

    這篇文章主要介紹了python scipy卷積運算的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • python實現(xiàn)名片管理系統(tǒng)項目

    python實現(xiàn)名片管理系統(tǒng)項目

    這篇文章主要為大家詳細介紹了python實現(xiàn)名片管理系統(tǒng)項目,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Java中MultipartFile與File互轉的實現(xiàn)

    Java中MultipartFile與File互轉的實現(xiàn)

    本文主要介紹了Java中MultipartFile與File互轉的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03

最新評論