2018-04-17-super()调用父类顺序详解

本文通过实例详细解析了Python中单继承和多继承的概念及使用方式。展示了如何在不同层级的类中实现方法覆盖,并通过super()函数调用父类的方法。具体演示了从单一基类到多个基类继承时方法解析顺序(MRO)的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单继承

>>> class A(object):
...     def say_a(self):
...             print('A is a')
>>> class B(A):
...     def say_a(self):
...             print('B is b')
... 
>>> class C(B):
...     def say_a(self):
...             print('C is c')

>>> class D(C):
...     def say(self):
...             print("D is d")
...             super(D,self).say_a()
...             super(C,self).say_a()
...             super(B,self).say_a()
... 
>>> D().say()
D is d
C is c
B is b
A is a

多继承

>>> class  A(object):
...     def  say(self):
...             print("A is a")
... 
>>> class B(A):
...     def  say(self):
...             print("B is b")
...             super(B,self).say()
... 
>>> class C(A):
...     def say(self):
...             print("C is c")
...             super(C,self).say()
... 
>>> class D(B,C):
...     def say(self):
...             print("D is d")
...             super(D,self).say()
... 
>>> d = D() 
>>> d.say()
D is d
B is b
C is c
A is a
>>> 

http://www.runoob.com/w3cnote/python-super-detail-intro.html

python super详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值