Python super(Class, self).method vs super(Parent,

2019-02-14 14:46发布

This question is derive from the following question, let's say class B extends 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?

1条回答
叛逆
2楼-- · 2019-02-14 14:58
super(B,self).do_work()

will call the do_work function as seen by the parent class of B - that is, A.do_work.


super(A,self).do_work()

will call the do_work function as seen by the parent class of A - that is, object.do_work (which probably doesn't exist, and thus would likely raise an exception).

查看更多
登录 后发表回答