最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中關(guān)于對(duì)super()函數(shù)疑問(wèn)解惑

 更新時(shí)間:2022年08月11日 09:57:06   作者:YZL40514131  
Python中的super()是用于調(diào)用父類(lèi)(或父類(lèi)的父類(lèi)...)方法的函數(shù),主要用于多繼承,單繼承問(wèn)題不大,下面這篇文章主要給大家介紹了關(guān)于python中關(guān)于對(duì)super()函數(shù)疑問(wèn)解惑的相關(guān)資料,需要的朋友可以參考下

案例一:運(yùn)行下面的代碼結(jié)果是什么?

class Person:
    def run(self):
        print('studying')

class Person1:
    def run(self):
        print('working')

class Person2:
    def run(self):
        print('playing')

class Person3(Person,Person1,Person2):

    def run(self):
        super().run1()

p=Person3()
p.run()

執(zhí)行結(jié)果:

AttributeError: ‘super’ object has no attribute ‘run1’

注意:

1、一個(gè)類(lèi)繼承多個(gè)類(lèi)時(shí),如果父類(lèi)中沒(méi)有提供該方法,類(lèi)會(huì)通過(guò)__mro__屬性一直向上搜索,如果直到object還沒(méi)有搜索到該方法,那么將會(huì)引發(fā)AttributeError異常

案例二:運(yùn)行下面的代碼結(jié)果是什么?

class Person:
    def run(self):
        print('studying')

class Person1:
    def run(self):
        print('working')

class Person2:
    def run(self):
        print('playing')

class Person3(Person,Person1,Person2):

    def run(self):
        super(Person1,self).run()

p=Person3()
p.run()

輸出結(jié)果為:playing;而不是working

注意:

1、super()函數(shù)的使用。
使用super()函數(shù)時(shí),可以通過(guò)super(類(lèi)名,self)來(lái)指定對(duì)哪個(gè)對(duì)象以哪個(gè)類(lèi)為起點(diǎn)向上搜索父類(lèi)中的方法。
例如:super(Person1,self).run():表示以Person1類(lèi)為起點(diǎn),向上搜索self(Person3的對(duì)象)的run方法。
Person1向上搜索到了<class ‘main.Person2’>,所以才會(huì)輸出playing

2、print(Person3.mro)的繼承順序?yàn)椋?<class ‘main.Person3’>, <class ‘main.Person’>, <class ‘main.Person1’>, <class ‘main.Person2’>, <class ‘object’>)

案例三、更復(fù)雜些的繼承,和上面的同理

class A:
    def who(self):
        print('A', end='')

class B(A):
    def who(self):
        super(B, self).who()
        print('B', end='')

class C(A):
    def who(self):
        super(C, self).who()
        print('C', end='')

class D(B, C):
    def who(self):
        super(D, self).who()
        print('D', end='')

item = D()
item.who()


print(D.__mro__)

輸出結(jié)果:

ACBD
(<class ‘main.D’>, <class ‘main.B’>, <class ‘main.C’>, <class ‘main.A’>, <class ‘object’>)

總結(jié)

到此這篇關(guān)于python中關(guān)于對(duì)super()函數(shù)疑問(wèn)解惑的文章就介紹到這了,更多相關(guān)python super()函數(shù)解惑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pytorch數(shù)據(jù)讀取與預(yù)處理該如何實(shí)現(xiàn)

    Pytorch數(shù)據(jù)讀取與預(yù)處理該如何實(shí)現(xiàn)

    這篇文章主要介紹了Pytorch數(shù)據(jù)讀取與預(yù)處理該如何實(shí)現(xiàn),幫助大家更好的理解和學(xué)習(xí)使用Pytorch,感興趣的朋友可以了解下
    2021-03-03
  • 詳解win10下pytorch-gpu安裝以及CUDA詳細(xì)安裝過(guò)程

    詳解win10下pytorch-gpu安裝以及CUDA詳細(xì)安裝過(guò)程

    這篇文章主要介紹了win10下pytorch-gpu安裝以及CUDA詳細(xì)安裝過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python 實(shí)現(xiàn)提取log文件中的關(guān)鍵句子,并進(jìn)行統(tǒng)計(jì)分析

    python 實(shí)現(xiàn)提取log文件中的關(guān)鍵句子,并進(jìn)行統(tǒng)計(jì)分析

    今天小編就為大家分享一篇python 實(shí)現(xiàn)提取log文件中的關(guān)鍵句子,并進(jìn)行統(tǒng)計(jì)分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python中的通函數(shù)numpy.ufunc詳解

    Python中的通函數(shù)numpy.ufunc詳解

    這篇文章主要介紹了什么是通函數(shù)numpy.ufunc,簡(jiǎn)單說(shuō)就是numpy的函數(shù),因?yàn)閚umpy針對(duì)的是數(shù)組張量,因此,幾乎每一個(gè)函數(shù)都是ufunc。本文針對(duì)ufunc的屬性進(jìn)行研究,需要的朋友可以參考下
    2023-04-04
  • 一文學(xué)會(huì)Python列表list的使用

    一文學(xué)會(huì)Python列表list的使用

    這篇文章主要為大家介紹了Python列表list的使用全面解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 如何將Python列表轉(zhuǎn)換為字符串

    如何將Python列表轉(zhuǎn)換為字符串

    字符串是Python中最常用的數(shù)據(jù)類(lèi)型,下面這篇文章主要給大家介紹了關(guān)于如何將Python列表轉(zhuǎn)換為字符串的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Python字典dict常用內(nèi)置函數(shù)詳解

    Python字典dict常用內(nèi)置函數(shù)詳解

    這篇文章主要介紹了Python字典dict常用內(nèi)置函數(shù)詳解,dict是Python中的一種內(nèi)置數(shù)據(jù)類(lèi)型,它是一種鍵值對(duì)的集合,類(lèi)似于Java中的Map或其他語(yǔ)言中的字典,需要的朋友可以參考下
    2023-07-07
  • Pytorch使用DataLoader實(shí)現(xiàn)批量加載數(shù)據(jù)

    Pytorch使用DataLoader實(shí)現(xiàn)批量加載數(shù)據(jù)

    這篇文章主要介紹了Pytorch使用DataLoader實(shí)現(xiàn)批量加載數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python爬蟲(chóng)爬取有道實(shí)現(xiàn)翻譯功能

    Python爬蟲(chóng)爬取有道實(shí)現(xiàn)翻譯功能

    這篇文章主要介紹了Python爬蟲(chóng)爬取有道實(shí)現(xiàn)翻譯功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python入門(mén)教程之運(yùn)算符與控制流

    Python入門(mén)教程之運(yùn)算符與控制流

    本文主要針對(duì) Python 的運(yùn)算符和控制流進(jìn)行講解,這里只介紹 Python 中比較獨(dú)特的部分,和其他語(yǔ)言類(lèi)似的東西,比如加減乘除運(yùn)算符就不在介紹。由于這篇文章是入門(mén)級(jí)別的文章,高手可直接跳過(guò)。
    2016-08-08

最新評(píng)論

泸定县| 丰县| 锡林浩特市| 呼图壁县| 东城区| 屏东市| 垣曲县| 五大连池市| 伽师县| 德格县| 潼关县| 天柱县| 六枝特区| 驻马店市| 姚安县| 永安市| 清原| 横山县| 江川县| 陆河县| 桐城市| 紫阳县| 黄山市| 永平县| 建昌县| 咸阳市| 濮阳市| 霍林郭勒市| 微博| 米易县| 靖江市| 博湖县| 拜泉县| 千阳县| 富锦市| 远安县| 水城县| 东丽区| 广东省| 威信县| 吉隆县|