国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中的super()方法使用簡介

2019-11-25 17:05:32
字體:
來源:轉載
供稿:網友

子類里訪問父類的同名屬性,而又不想直接引用父類的名字,因為說不定什么時候會去修改它,所以數據還是只保留一份的好。其實呢,還有更好的理由不去直接引用父類的名字,
這時候就該super()登場啦――

class A: def m(self):  print('A')class B(A): def m(self):  print('B')  super().m()B().m()

當然 Python 2 里super() 是一定要參數的,所以得這么寫:

class B(A): def m(self):  print('B')  super(B, self).m()

    super在單繼承中使用的例子:

class Foo():  def __init__(self, frob, frotz)    self.frobnicate = frob    self.frotz = frotzclass Bar(Foo):  def __init__(self, frob, frizzle)    super().__init__(frob, 34)    self.frazzle = frizzle

此例子適合python 3.x,如果要在python2.x下使用則需要稍作調整,如下代碼示例:

class Foo(object):   def __init__(self, frob, frotz):     self.frobnicate = frob     self.frotz = frotz class Bar(Foo):   def __init__(self, frob, frizzle):     super(Bar,self).__init__(frob,34)     self.frazzle = frizzle new = Bar("hello","world") print new.frobnicate print new.frazzle print new.frotz 

需要提到自己的名字。這個名字也是動態查找的,在這種情況下替換第三方庫中的類會出問題。

`super()`` 很好地解決了訪問父類中的方法的問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莫力| 柳河县| 增城市| 响水县| 渝中区| 堆龙德庆县| 淮南市| 阜康市| 十堰市| 台中市| 平南县| 合阳县| 白河县| 哈尔滨市| 天峨县| 罗定市| 鱼台县| 法库县| 仁寿县| 兰州市| 辉县市| 白山市| 韶关市| 报价| 蕲春县| 江孜县| 甘南县| 周宁县| 青川县| 彭州市| 东方市| 新乡市| 霞浦县| 怀宁县| 丰城市| 永德县| 诏安县| 双牌县| 丰原市| 清水河县| 马鞍山市|