super()

super()函数是用于调用父类的一个方法。

例子1:

class A:
    def __init__(self):
        print('This is A.__init__')
    def say(self,message):
        print(message)
class B(A):
    def __init__(self):
        super(B,self).__init__()
        print('This is B.__init__')
    def sayy(self,message):
        super(B,self).say(message)
b = B()
b.sayy('hello')

# OUT:
# This is A.__init__
# This is B.__init__
# hello

例子2:

class A:
  def __init__(self):
    print("Enter A")
    print("Leave A")
class B(A):
  def __init__(self):
    print("Enter B")
    super(B, self).__init__()
    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, D):
  def __init__(self):
    print("Enter E")
    super(E, self).__init__()
    print("Leave E")
E()

# OUT:
# Enter E
# Enter B
# Enter C
# Enter D
# Enter A
# Leave A
# Leave D
# Leave C
# Leave B
# Leave E
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容