python super()函數(shù)的基本使用
super主要來(lái)調(diào)用父類(lèi)方法來(lái)顯示調(diào)用父類(lèi),在子類(lèi)中,一般會(huì)定義與父類(lèi)相同的屬性(數(shù)據(jù)屬性,方法),從而來(lái)實(shí)現(xiàn)子類(lèi)特有的行為。也就是說(shuō),子類(lèi)會(huì)繼承父類(lèi)的所有的屬性和方法,子類(lèi)也可以覆蓋父類(lèi)同名的屬性和方法。
class Parent(object):
Value = "Hi, Parent value"
def fun(self):
print("This is from Parent")
# 定義子類(lèi),繼承父類(lèi)
class Child(Parent):
Value = "Hi, Child value"
def ffun(self):
print("This is from Child")
c = Child()
c.fun()
c.ffun()
print(Child.Value)
# 輸出結(jié)果
# This is from Parent
# This is from Child
# Hi, Child value
但是,有時(shí)候可能需要在子類(lèi)中訪(fǎng)問(wèn)父類(lèi)的一些屬性,可以通過(guò)父類(lèi)名直接訪(fǎng)問(wèn)父類(lèi)的屬性,當(dāng)調(diào)用父類(lèi)的方法是,需要將”self”顯示的傳遞進(jìn)去的方式。
class Parent(object):
Value = "Hi, Parent value"
def fun(self):
print("This is from Parent")
class Child(Parent):
Value = "Hi, Child value"
def fun(self):
print("This is from Child")
# 調(diào)用父類(lèi)Parent的fun函數(shù)方法
Parent.fun(self)
c = Child()
c.fun()
# 輸出結(jié)果
# This is from Child
# This is from Parent
# 實(shí)例化子類(lèi)Child的fun函數(shù)時(shí),首先會(huì)打印上條的語(yǔ)句,再次調(diào)用父類(lèi)的fun函數(shù)方法
這種方式有一個(gè)不好的地方就是,需要經(jīng)父類(lèi)名硬編碼到子類(lèi)中,為了解決這個(gè)問(wèn)題,可以使用Python中的super關(guān)鍵字。
class Parent(object):
Value = "Hi, Parent value"
def fun(self):
print("This is from Parent")
class Child(Parent):
Value = "Hi, Child value"
def fun(self):
print("This is from Child")
# Parent.fun(self)
# 相當(dāng)于用super的方法與上一調(diào)用父類(lèi)的語(yǔ)句置換
super(Child, self).fun()
c = Child()
c.fun()
# 輸出結(jié)果
# This is from Child
# This is from Parent
# 實(shí)例化子類(lèi)Child的fun函數(shù)時(shí),首先會(huì)打印上條的語(yǔ)句,再次調(diào)用父類(lèi)的fun函數(shù)方法
以上就是python super()函數(shù)的基本使用的詳細(xì)內(nèi)容,更多關(guān)于python super()函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python并發(fā)編程線(xiàn)程消息通信機(jī)制詳解
這篇文章主要為大家介紹了Python并發(fā)編程之線(xiàn)程消息通信機(jī)制的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
python plt可視化——打印特殊符號(hào)和制作圖例代碼
這篇文章主要介紹了python plt可視化——打印特殊符號(hào)和制作圖例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
matplotlib繪制鼠標(biāo)的十字光標(biāo)的實(shí)現(xiàn)(內(nèi)置方式)
這篇文章主要介紹了matplotlib繪制鼠標(biāo)的十字光標(biāo)的實(shí)現(xiàn)(內(nèi)置方式),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
對(duì)django中render()與render_to_response()的區(qū)別詳解
今天小編就為大家分享一篇對(duì)django中render()與render_to_response()的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
詳解Django中的ifequal和ifnotequal標(biāo)簽使用
這篇文章主要介紹了詳解Django中的ifequal和ifnotequal標(biāo)簽使用,Django是重多高人氣Python框架中最為著名的一個(gè),需要的朋友可以參考下2015-07-07
Python采集天天基金數(shù)據(jù)掌握最新基金動(dòng)向
這篇文章主要介紹了Python采集天天基金數(shù)據(jù)掌握最新基金動(dòng)向,本次案例實(shí)現(xiàn)流程為發(fā)送請(qǐng)求、獲取數(shù)據(jù)、解析數(shù)據(jù)、多頁(yè)爬取、保存數(shù)據(jù),接下來(lái)來(lái)看看具體的操作過(guò)程吧2022-01-01
如何用Python進(jìn)行回歸分析與相關(guān)分析
這篇文章主要介紹了如何用Python進(jìn)行回歸分析與相關(guān)分析,這兩部分內(nèi)容會(huì)放在一起講解,文中提供了解決思路以及部分實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-03-03
django執(zhí)行數(shù)據(jù)庫(kù)查詢(xún)之后實(shí)現(xiàn)返回的結(jié)果集轉(zhuǎn)json
這篇文章主要介紹了django執(zhí)行數(shù)據(jù)庫(kù)查詢(xún)之后實(shí)現(xiàn)返回的結(jié)果集轉(zhuǎn)json,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03

