亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python之super的使用小結

2020-02-15 22:44:49
字體:
來源:轉載
供稿:網友

為什么需要super

在python沒有引入super之前, 如果需要在子類中引用父類的方法, 一般寫法如下:

class Father: def whoami(self):  print("I am father")class Child: def whoami(self):  print("I am child")  Father.whoami(self)

這樣看好像沒什么問題, 就算沒有super也能正常調用父類的方法, 但是如果有一天Father類需要修改類名為Father1, 那么子類Child中也必須跟著修改.

想象下如果一個類有很多個子類, 這樣一來我們就需要修改每個子類中引用父類的語句

怎么使用super

Help on class super in module builtins:class super(object) | super() -> same as super(__class__, <first argument>) | super(type) -> unbound super object | super(type, obj) -> bound super object; requires isinstance(obj, type) | super(type, type2) -> bound super object; requires issubclass(type2, type) | Typical use to call a cooperative superclass method: | class C(B): |   def meth(self, arg): |     super().meth(arg) | This works for class methods too: | class C(B): |   @classmethod |   def cmeth(cls, arg): |     super().cmeth(arg)

我們來看看super的幫助文檔, 首先super是一個類, 它的調用方法有如下幾種:

1.super()
2.super(type)
3.super(type, obj)
4.super(type, type2)

我們推薦用第一種方法來使用super, 因為它并不需要顯式傳遞任何參數.但是要注意一點, super只能在新式類中使用.

class A: def __init__(self):  print("this is A")class B(A): def __init__(self):  super().__init__()  print("this is B")b = B()"""this is Athis is B"""

看起來super就像直接調用了B的父類A的__init__, 其實并不是這樣的, 我們看看super在多繼承下的使用

class A: def __init__(self):  print("this is A")  print("leave A")class B(A): def __init__(self):  print("this is B")  super().__init__()  print("leave B")class C(A): def __init__(self):  print("this is C")  super().__init__()  print("leave C") class D(B, C): def __init__(self):  print("this is D")  super().__init__()  print("leave D")    d = D()"""this is Dthis is Bthis is Cthis is Aleave Aleave Cleave Bleave D"""print(D.__mro__)"""(<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>)"""

這里可以看到, 如果super只是簡單調用父類的方法的話, 那么調用了B的__init__ 方法之后, 應該調用A的__init__ 才對, 但是調用的卻是C的__init__ 方法

這是因為super調用的是當前類在MRO列表中的后一個類, 而并不是簡單地調用當前類的父類

python并沒有強制性限制我們使用super調用父類, 我們還是可以使用原始的方法來調用父類中的方法, 但是需要注意的是調用父類的方法要統一, 即全用super或全不用super, 而用super 的話, 調用的方式也最好是統一的

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
韩日欧美一区二区| 欧美国产视频一区二区| 成人动漫网站在线观看| 国产精品99久久99久久久二8| 成人激情视频免费在线| 伊人精品在线观看| 中文字幕日本精品| 国产精品人成电影在线观看| 中文字幕精品一区二区精品| 欧美日本啪啪无遮挡网站| 日韩av电影国产| 欧亚精品在线观看| 国产精品久久av| 亚洲天堂av高清| 91青草视频久久| 岛国av午夜精品| 日韩av高清不卡| 欧美一级片久久久久久久| 国产精品电影久久久久电影网| 日韩av免费看| 日韩美女毛茸茸| 少妇高潮久久77777| 国产啪精品视频| 国产精品久久久久av免费| 欧美亚洲一级片| 亚洲自拍偷拍色图| 欧美日韩性生活视频| 亚洲国产精品成人av| 亚洲视频在线观看视频| 国产日韩欧美电影在线观看| 亚洲精品国精品久久99热| 日韩在线视频导航| 色综合久综合久久综合久鬼88| 亚洲福利视频免费观看| 国产一区二区三区四区福利| 黄色成人av在线| 国产精品免费福利| 亚洲老板91色精品久久| 91精品一区二区| 午夜精品国产精品大乳美女| 国产精品吹潮在线观看| 欧美亚洲第一页| 亚洲美女免费精品视频在线观看| 久久久www成人免费精品| 狠狠躁夜夜躁人人躁婷婷91| 98精品国产自产在线观看| 久久成人av网站| 欧美中文在线观看国产| 91伊人影院在线播放| 精品国产网站地址| 91精品国产91久久久久| 久久久久久一区二区三区| 97涩涩爰在线观看亚洲| 国产精品一区二区女厕厕| 亚洲第一中文字幕在线观看| 亚洲欧洲在线看| 亚洲天堂日韩电影| 色与欲影视天天看综合网| 奇米影视亚洲狠狠色| 韩国三级日本三级少妇99| 欧美日韩免费观看中文| 日日骚av一区| 久久免费国产视频| 亚洲自拍偷拍视频| 亚洲最大福利视频网站| 国产精品jvid在线观看蜜臀| 欧美午夜精品久久久久久浪潮| 亚洲国产女人aaa毛片在线| 亚洲国产小视频在线观看| 狠狠色香婷婷久久亚洲精品| 91深夜福利视频| 91亚洲精品在线| 久久精品视频在线播放| 亚洲第一网站男人都懂| 日韩亚洲精品视频| 日韩国产欧美精品一区二区三区| 亚洲va欧美va国产综合久久| 国产成人精品在线视频| 国产精品视频yy9099| 日韩精品中文字幕有码专区| 亚洲男人天堂九九视频| 日韩中文在线不卡| 国产日产欧美a一级在线| 日本一区二区三区在线播放| 毛片精品免费在线观看| 国产成人亚洲综合| 亚洲电影免费观看高清完整版| 精品国产欧美成人夜夜嗨| 久久久久国色av免费观看性色| 亚洲男人第一网站| 韩国精品美女www爽爽爽视频| 懂色av影视一区二区三区| 欧美黑人视频一区| 神马国产精品影院av| 97超级碰在线看视频免费在线看| 国产精品久久在线观看| 亚洲激情第一页| 美女福利视频一区| 亚洲精品二三区| 亚洲影视九九影院在线观看| 欧美日韩国产123| 国产97在线|日韩| 中文字幕精品一区二区精品| 国产精品情侣自拍| 欧美激情欧美狂野欧美精品| 2019中文字幕在线免费观看| 欧美日韩国产专区| 亚洲精品国产精品乱码不99按摩| 欧洲亚洲免费视频| 亚洲成人动漫在线播放| 亚洲欧美中文日韩v在线观看| 中文字幕亚洲欧美日韩在线不卡| 激情av一区二区| 中文字幕av一区二区| 久久久精品免费视频| 日韩精品久久久久久福利| 国产亚洲精品综合一区91| 成人国产精品久久久久久亚洲| 国产美女精品视频| 亚洲香蕉av在线一区二区三区| 国内精品久久久久久久久| 欧美视频在线免费| 69久久夜色精品国产69乱青草| 国产精品高清网站| 大伊人狠狠躁夜夜躁av一区| 97久久伊人激情网| 黑人巨大精品欧美一区二区一视频| 九九热精品视频在线播放| 亚洲va国产va天堂va久久| 91久久精品在线| 欧美激情va永久在线播放| 日韩最新在线视频| 日韩av电影在线免费播放| 91视频国产高清| 国产福利精品av综合导导航| 第一福利永久视频精品| 精品国产欧美一区二区五十路| 亚洲激情在线观看视频免费| 欧美超级免费视 在线| 午夜免费日韩视频| 伊人伊人伊人久久| 国产欧美日韩丝袜精品一区| 国产在线精品一区免费香蕉| 国产精品自拍视频| 亚洲第一中文字幕| 91九色精品视频| 国产亚洲精品久久久| 欧美电影第一页| 538国产精品一区二区在线| 国产一区二区美女视频| 欧美日韩国产丝袜另类| 亚洲女人天堂视频| 在线激情影院一区| 亚洲精品久久久久久久久久久久| 亚洲精品在线看| 亚洲成人久久一区| 欧美国产第二页| 庆余年2免费日韩剧观看大牛| 久久久亚洲网站| 欧美成人午夜激情视频| 久久69精品久久久久久国产越南| 免费不卡在线观看av| 国产成人亚洲综合| 欧美尺度大的性做爰视频|