当前位置 : 主页 > 编程语言 > python >

python之理解super及MRO列表 ( 示例版 )

来源:互联网 收集:自由互联 发布时间:2022-06-15
例子 1: class A0: def pri(self): super().pri() print("A0") class A1(A0): def pri(self): super().pri() print("A1") class B0: def pri(self): print("B0") class B1(B0): def pri(self): super().pri() print("B1") class X(A1, B1): def pri(self)

例子   1:


 python之理解super及MRO列表   ( 示例版  )_父类



class A0:
def pri(self):
super().pri()
print("A0")

class A1(A0):
def pri(self):
super().pri()
print("A1")

class B0:
def pri(self):
print("B0")

class B1(B0):
def pri(self):
super().pri()
print("B1")

class X(A1, B1):
def pri(self):
super().pri()
print("X")

x=X()
x.pri()
print(x.__class__.mro())

输出:

python之理解super及MRO列表   ( 示例版  )_Python_02




python之理解super及MRO列表   ( 示例版  )_父类_03

 python之理解super及MRO列表   ( 示例版  )_父类_04



例子   2:

 python之理解super及MRO列表   ( 示例版  )_Python_05


class A0:
def pri(self):
#super().pri()
print("A0")

class A1(A0):
def pri(self):
super().pri()
print("A1")

class B0:
def pri(self):
print("B0")

class B1(B0):
def pri(self):
super().pri()
print("B1")

class X(A1, B1):
def pri(self):
super().pri()
print("X")

x=X()
x.pri()
print(x.__class__.mro())


输出:

python之理解super及MRO列表   ( 示例版  )_父类_06



例子   3:

 python之理解super及MRO列表   ( 示例版  )_Python_07

class A0:
def pri(self):
#super().pri()
print("A0")

class B0:
def pri(self):
super().pri()
print("B0")

class B1(B0):
def pri(self):
super().pri()
print("B1")

class X(B1, A0):
def pri(self):
super().pri()
print("X")

x=X()
x.pri()
print(x.__class__.mro())


输出:

python之理解super及MRO列表   ( 示例版  )_父类_08



例子   4:

 python之理解super及MRO列表   ( 示例版  )_父类_09



class A0:
def pri(self):
#super().pri()
print("A0")

class B0:
def pri(self):
#super().pri()
print("B0")

class B1(B0):
def pri(self):
super().pri()
print("B1")

class X(B1, A0):
def pri(self):
super().pri()
print("X")

x=X()
x.pri()
print(x.__class__.mro())


输出:

python之理解super及MRO列表   ( 示例版  )_父类_10


例子   5:

 python之理解super及MRO列表   ( 示例版  )_Python_11


class A0:
def pri(self):
super().pri()
print("A0")

class B0:
def pri(self):
super().pri()
print("B0")

class B1(B0):
def pri(self):
super().pri()
print("B1")

class X(B1, A0):
def pri(self):
super().pri()
print("X")

x=X()
print(x.__class__.mro())
x.pri()


python之理解super及MRO列表   ( 示例版  )_父类_12


(A0类中执行pri函数时候调用父类object中的pri函数,由于object类中没有pri函数所以报错)


【本文由:阿里云代理 http://www.56aliyun.com 复制请保留原URL】
网友评论