0
点赞
收藏
分享

微信扫一扫

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

践行数据分析 2022-05-17 阅读 51

例子   1:


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



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列表   ( 示例版  )_Python_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列表   ( 示例版  )_Python_06



例子   3:

 python之理解super及MRO列表   ( 示例版  )_父类_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列表   ( 示例版  )_Python_08



例子   4:

 python之理解super及MRO列表   ( 示例版  )_Python_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函数所以报错)


举报

相关推荐

0 条评论