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

首頁(yè) > 編程 > Python > 正文

Python中super的用法實(shí)例

2020-02-23 01:28:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

super 是用來(lái)解決多重繼承問(wèn)題的,直接用類(lèi)名調(diào)用父類(lèi)方法在使用單繼承的時(shí)候沒(méi)問(wèn)題,但是如果使用多繼承,會(huì)涉及到查找順序(MRO)、重復(fù)調(diào)用(鉆石繼承)等種種問(wèn)題。總之前人留下的經(jīng)驗(yàn)就是:保持一致性。要不全部用類(lèi)名調(diào)用父類(lèi),要不就全部用 super,不要一半一半。

普通繼承
代碼如下:
class FooParent(object): 
    def __init__(self): 
        self.parent = 'I/'m the parent.' 
        print 'Parent' 
     
    def bar(self,message): 
        print message, 'from Parent' 
         
class FooChild(FooParent): 
    def __init__(self): 
        FooParent.__init__(self) 
        print 'Child' 
         
    def bar(self,message): 
        FooParent.bar(self,message) 
        print 'Child bar function.' 
        print self.parent 
         
if __name__=='__main__': 
    fooChild = FooChild() 
    fooChild.bar('HelloWorld') 

super繼承
代碼如下:
class FooParent(object): 
    def __init__(self): 
        self.parent = 'I/'m the parent.' 
        print 'Parent' 
     
    def bar(self,message): 
        print message,'from Parent' 
 
class FooChild(FooParent): 
    def __init__(self): 
        super(FooChild,self).__init__() 
        print 'Child' 
         
    def bar(self,message): 
        super(FooChild, self).bar(message) 
        print 'Child bar fuction' 
        print self.parent 
 
if __name__ == '__main__': 
    fooChild = FooChild() 
    fooChild.bar('HelloWorld') 

程序運(yùn)行結(jié)果相同,為:
代碼如下:
Parent
Child

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蓬安县| 哈巴河县| 自贡市| 定襄县| 濮阳县| 霍山县| 拜城县| 旌德县| 广州市| 海晏县| 阜康市| 双峰县| 马山县| 阿巴嘎旗| 互助| 尚义县| 阿克苏市| 达孜县| 旺苍县| 延安市| 兴国县| 关岭| 静海县| 莱西市| 永胜县| 正蓝旗| 绍兴市| 法库县| 建湖县| 广丰县| 利津县| 乌审旗| 布尔津县| 雷州市| 宁海县| 香格里拉县| 神木县| 峨山| 苍梧县| 大英县| 东海县|