为了账号安全,请及时绑定邮箱和手机立即绑定

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 关注
  • 1494 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信