Python的超(级,个体经营)。方法VS超(家长,个体经营)。方法(Python super(Cl

2019-07-19 12:24发布

这个问题从以下派生问题 ,让我们说class B扩展class A

class A(object):
  def do_work(self):
    print 123

class B(A):
  def do_work(self):
    super(B,self).do_work() # versus the next statement
    super(A,self).do_work() # what's the difference?

Answer 1:

super(B,self).do_work()

将调用do_work功能由父类的所见B -也就是说, A.do_work


super(A,self).do_work()

将调用do_work功能由父类的如看到A -那就是, object.do_work (这可能不存在,从而可能会引发异常)。



文章来源: Python super(Class, self).method vs super(Parent, self).method