當前位置:首頁 » 編程語言 » python類super

python類super

發布時間: 2025-03-06 10:32:16

python中的super()是什麼意思呢

super就是在子類中調用父類方法時用的。

classFooParent(object):
def__init__(self):
self.parent='I'mtheparent.'
print'Parent'

defbar(self,message):
printmessage,'fromParent'

classFooChild(FooParent):
def__init__(self):
super(FooChild,self).__init__()#調用父類初始化方法
print'Child'

defbar(self,message):
super(FooChild,self).bar(message)#調用父類bar方法
print'Childbarfuction'
printself.parent

if__name__=='__main__':
fooChild=FooChild()
fooChild.bar('HelloWorld')

如果解決了您的問題請採納!
如果未解決請繼續追問

❷ python中的super是什麼-

目錄

python中的super,名為超類,可以簡單的理解為執行父類的__init__函數。由於在python中不論是一對一的繼承,還是一子類繼承多個父類,都會涉及到執行的先後順序的問題。那麼本文就著重看下super的具體作用。

通過設計這樣一個案例,我們可以明確super的前後邏輯關系:先定義一個父類 initial ,在這個父類中有參數值 param 和函數 func ,然後用子類 new 來繼承父類 initial 。繼承之後,在子類的 __init__ 函數中 super 執行的前後去列印參數值 param 和函數 func 的返回值,相關代碼如下所示:

代碼的執行結果如下所示:

首先我們注意到,父類 initial 中的 __init__ 函數內的列印語句,是在super之後才輸出的,這說明了, super 函數是在執行父類的初始化操作。那麼如果沒有執行 super , new 子類對 initial 父類的繼承體現在哪裡呢?答案就是父類的成員函數,比如這樣的一個案例:

其實就是刪掉了子類中重載的成員函數,那麼得到的結果如下:

可以發現在執行super之前就可以列印父類的 func 函數的函數值。所以python中繼承的邏輯是這樣的:

initial.func() new.__init__() new.func()/new.param super() initial.__init__()/initial.param new.__init__()/new.paraminitial.func() new.__init__() new.func()/new.param super() initial.__init__()/initial.param new.__init__()/new.param

也正是因為只有執行了 super 才能初始化父類中的成員變數,因此如果在super之前是無法訪問父類的成員變數的。

本文通過一個python的實際案例的設計,來講解python面向對象的技術——類的繼承中必用的super函數的邏輯。其實我們可以把python中類的繼承理解成這樣的一個過程:當我們在括弧中明確了父類時,其實已經引用了父類的成員函數,但是並沒有執行父類的初始化函數。在執行子類的初始化函數的同時,會檢查是否重載了父類的成員函數,如果重載則會直接覆蓋。而只有在執行了super之後,才相當於執行了父類的初始化函數,此時才可以訪問父類的成員變數。

本文首發鏈接為:https://www.cnblogs.com/dechinphy/p/super.html

作者ID:DechinPhy

更多原著文章請參考:https://www.cnblogs.com/dechinphy/

打賞專用鏈接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

騰訊雲專欄同步:https://cloud.tencent.com/developer/column/91958

熱點內容
雲伺服器可以通過遠程打游戲嗎 發布:2025-03-06 17:16:43 瀏覽:913
cs新版本要什麼配置 發布:2025-03-06 17:15:22 瀏覽:223
用戶登錄密碼設置規則是什麼 發布:2025-03-06 17:04:40 瀏覽:751
海外移動賬號訪問 發布:2025-03-06 17:00:09 瀏覽:814
samba在伺服器搭建 發布:2025-03-06 16:53:35 瀏覽:170
圖片管理資料庫 發布:2025-03-06 16:51:05 瀏覽:980
用舊電腦搭建家用伺服器 發布:2025-03-06 16:48:54 瀏覽:251
台式電腦如何與安卓手機連接藍牙 發布:2025-03-06 16:48:47 瀏覽:816
奇博源碼 發布:2025-03-06 16:47:43 瀏覽:986
原油存儲罐 發布:2025-03-06 16:12:21 瀏覽:55