python super研究

时间:2023-03-09 01:52:00
python super研究
# encoding=utf-8

class A(object):
def __init__(self):
print "初始化a" def run(self):
print "运行a" class B(A):
def __init__(self):
print '开始初始化b'
super(B, self).__init__()
print '结束初始化b' def run(self):
print "开始运行b"
super(B, self).run()
print '结束运行b' class C(B):
def __init__(self):
print '开始初始化c'
super(C, self).__init__()
print '结束初始化c' def run(self):
print "开始运行c"
super(C, self).run()
print '结束运行c' if __name__ == '__main__':
c = C()
c.run() # 结果是:
# 开始初始化c
# 开始初始化b
# 初始化a
# 结束初始化b
# 结束初始化c
# 开始运行c
# 开始运行b
# 运行a
# 结束运行b
# 结束运行c
# 从结果我们可以看出,super采取的是深度优先遍历继承