欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2022年08月11日 09:57:06   作者:YZL40514131  
Python中的super()是用于調(diào)用父類(或父類的父類...)方法的函數(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è)類繼承多個(gè)類時(shí),如果父類中沒(mé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(類名,self)來(lái)指定對(duì)哪個(gè)對(duì)象以哪個(gè)類為起點(diǎn)向上搜索父類中的方法。
例如:super(Person1,self).run():表示以Person1類為起點(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)文章

  • Python集合add()函數(shù)使用詳解

    Python集合add()函數(shù)使用詳解

    python中add()方法用于給集合添加元素,如果添加的元素在集合中已存在,則不執(zhí)行任何操作,本文將給大家介紹一下Python集合add()函數(shù)使用方法,感興趣的小伙伴跟著小編一起來(lái)看看吧
    2023-07-07
  • 解決Pycharm模塊安裝慢問(wèn)題的兩種方法

    解決Pycharm模塊安裝慢問(wèn)題的兩種方法

    很多人在學(xué)習(xí)Python時(shí),都會(huì)使用PyCharm這個(gè)編譯器,下面這篇文章主要給大家介紹了關(guān)于解決Pycharm模塊安裝慢問(wèn)題的兩種方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Python實(shí)現(xiàn)的爬取網(wǎng)易動(dòng)態(tài)評(píng)論操作示例

    Python實(shí)現(xiàn)的爬取網(wǎng)易動(dòng)態(tài)評(píng)論操作示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的爬取網(wǎng)易動(dòng)態(tài)評(píng)論操作,結(jié)合實(shí)例形式分析了Python針對(duì)網(wǎng)易評(píng)論正則爬取及json格式數(shù)據(jù)轉(zhuǎn)換、提取等相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • 一文搞懂Python讀取text,CSV,JSON文件的方法

    一文搞懂Python讀取text,CSV,JSON文件的方法

    文件處理是一種用于創(chuàng)建文件、寫入數(shù)據(jù)和從中讀取數(shù)據(jù)的過(guò)程,Python 擁有豐富的用于處理不同文件類型的包,從而使得我們可以更加輕松方便的完成文件處理的工作,本文將來(lái)為大家詳細(xì)講講
    2022-06-06
  • Python實(shí)現(xiàn)ssh批量登錄并執(zhí)行命令

    Python實(shí)現(xiàn)ssh批量登錄并執(zhí)行命令

    本篇文章主要是介紹了Python實(shí)現(xiàn)ssh批量登錄并執(zhí)行命令,有一些任務(wù)可以進(jìn)行批量完成,Python就可以完成,有需要的同學(xué)可以了解一下。
    2016-10-10
  • Python+MediaPipe實(shí)現(xiàn)檢測(cè)人臉功能詳解

    Python+MediaPipe實(shí)現(xiàn)檢測(cè)人臉功能詳解

    MediaPipe是用于構(gòu)建多模態(tài)(例如視頻、音頻或任何時(shí)間序列數(shù)據(jù))、跨平臺(tái)(即eAndroid、IOS、web、邊緣設(shè)備)應(yīng)用ML管道的框架。本文將利用MediaPipe實(shí)現(xiàn)檢測(cè)人臉功能,需要的可以參考一下
    2022-02-02
  • 使用Pytest.main()運(yùn)行時(shí)參數(shù)不生效問(wèn)題解決

    使用Pytest.main()運(yùn)行時(shí)參數(shù)不生效問(wèn)題解決

    本文主要介紹了使用Pytest.main()運(yùn)行時(shí)參數(shù)不生效問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python的字典和集合你了解嗎

    python的字典和集合你了解嗎

    章主要為大家詳細(xì)介紹了python的字典和集合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Python3實(shí)現(xiàn)的騰訊微博自動(dòng)發(fā)帖小工具

    Python3實(shí)現(xiàn)的騰訊微博自動(dòng)發(fā)帖小工具

    這篇文章主要為大家分享下騰訊微博自動(dòng)發(fā)帖的Python3代碼,需要的朋友可以參考下
    2013-11-11
  • Django權(quán)限設(shè)置及驗(yàn)證方式

    Django權(quán)限設(shè)置及驗(yàn)證方式

    這篇文章主要介紹了Django權(quán)限設(shè)置及驗(yàn)證方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05

最新評(píng)論