q528 发表于 2017-4-26 09:28:53

python super 使用

  原博客地址:
  http://www.cnblogs.com/lovemo1314/archive/2011/05/03/2035005.html
  class A(object):
  def __init__(self):
  print "enter A"
  super(A, self).__init__()  # new
  print "leave A"
  class B(object):
  def __init__(self):
  print "enter B"
  super(B, self).__init__()  # new
  print "leave B"
  class C(A):
  def __init__(self):
  print "enter C"
  super(C, self).__init__()
  print "leave C"
  class D(A):
  def __init__(self):
  print "enter D"
  super(D, self).__init__()
  print "leave D"
  class E(B, C):
  def __init__(self):
  print "enter E"
  super(E, self).__init__()  # change
  print "leave E"
  class F(E, D):
  def __init__(self):
  print "enter F"
  super(F, self).__init__()  # change
  print "leave F"
  f = F()
  输出:
  enter F
  enter E
  enter B
  enter C
  enter D
  enter A
  leave A
  leave D
  leave C
  leave B
  leave E
  leave F
  查看类F的继承顺序
  >>> F.__mro__
  (<class '__main__.F'>,
  <class '__main__.E'>,
  <class '__main__.B'>,
  <class '__main__.C'>,
  <class '__main__.D'>,
  <class '__main__.A'>,
  <type 'object'>)
页: [1]
查看完整版本: python super 使用