亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python中如何調用super方法

Python中如何調用super方法

qq_苦瓜_3 2016-12-13 17:33:13
class?Animal(object): ????def?run(self): ????????print('Animal?run') class?Dog(Animal): ????def?run(self): ???? #?super().run() #?Animal.run(self)?//這個好像可以 ????????#?super(Animal,self).run() ????????print('Dog?run') d?=?Dog() d.run()執行d.run() ?如何即輸出'Animal?run'又輸出'Dog?run'在其他語言中,往往可以直接調用super.method(),但是Python不知道該怎么實現?或者說Python不推薦在重載父類方法時調用super方法?我試了下,好像可以在重寫父類方法的時候通過?super(SuperClass,self).overrideMethod()這樣的方式來實現,不知道這樣是否正確?-----------------------------------------------------分割線------------------------------------------------謝謝@串豬神的答案:class?Animal(object): ????def?run(self): ????????print('Animal?run') ???????? class?Dog(Animal): ????def?run(self): ????????super().run() ????????print('Dog?run') d?=?Dog() d.run???????? >>>> Animal?run Dog?run
查看完整描述

1 回答

已采納
?
串豬神

TA貢獻155條經驗 獲得超200個贊

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

python里面也有super方法的,調用的方式如上所示,super().方法名 這樣就可以調用父類的方法了。

查看完整回答
1 反對 回復 2016-12-14
  • 1 回答
  • 0 關注
  • 1529 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號