python super(),python中super()方法的作用

  python super(),python中super()方法的作用

  preamble()函数是调用父类(超类)的超方法。

  Super()用来解决多重继承的问题。使用单继承时用类名直接调用父类方法没问题,但如果使用多重继承,就会涉及到搜索顺序(MRO)、重复调用(钻石继承)等各种问题。【MRO是一个类的方法解析序列表,实际上是继承父方法时的序列表。】

  语法(类型[,对象或类型])参数:

  类型:类别

  对象或类型:类,通常是自身。

  Python3.x和Python2.x的区别Python3可以使用super()。xxx而不是超(类,自我)。直接xxx:

  Python3.x的例子:

  A类:

  定义添加(自身,x):

  y=x 1

  打印(y)

  B(A)类:

  定义添加(自身,x):

  超级()。添加(x)

  b=B()

  b .添加(2) # 3Python2.x实例:

  #!/usr/bin/python

  # -*-编码:UTF-8 -*-

  A类(object): # Python2.x记得继承object

  定义添加(自身,x):

  y=x 1

  打印(y)

  B(A)类:

  定义添加(自身,x):

  超级(B,自我)。添加(x)

  b=B()

  B.Python中的Add (2) # 3,super()。__init__()就是super()的意思。init()是继承父类的init方法。还可以使用super()来继承其他方法。

  1.比较(python3)1.1,示例1.2,运行结果和来自示例的比较

  1.3、完整的代码

  2.关于最低继承顺序:先写一个父类a。

  A类:

  def __init__(self):

  Print(A )第二层:让B,C,D继承A。

  B(A)类:

  def __init__(self):

  打印(“B”)

  超级()。__init__()

  丙类(甲类):

  def __init__(self):

  打印(“C”)

  超级()。__init__()

  D(A)级:

  def __init__(self):

  打印(“D”)

  超级()。__init__()第三层:E,F,G继承自B,C,d。

  E类(B、C类):

  def __init__(self):

  打印(“E”)

  超级()。__init__()

  F类(丙类、丁类):

  def __init__(self):

  打印( F )

  超级()。__init__()

  G类(E,F):

  def __init__(self):

  打印(“G”)

  超级()。__init__()看G的继承顺序:

  我们发现G继承了E,F是并列的。初始化时,E不会在F初始化之前初始化。

  期待陌生,拥抱惊喜。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: