多继承

今天回顾到多继承,在python2x版本中存在两种类.:
  ⼀个叫经典类. 在python2.2之前. ⼀直使⽤的是经典类. 用深度优先
  ⼀个叫新式类. 在python2.2之后出现了新式类. 新式类的特点是基类的根是object类。用C3
python3x版本中只有一种类:
python3中使⽤的都是新式类. 如果基类谁都不继承. 那这个类会默认继承 object,用C3

 

 

merge操作是C3算法的核心。

mro(C(A,B)) = [C] + merge(mro(A),mro(B),[A,B])
mro(B(A)) = [B,A]
mro(B(A1,A2,A3)) = [B] + merge(mro(A1),mro(A2),mro(A3),[A1,A2,A3])
[A,B,C] 表头:A 表尾: B,C
[A] 表头: A ,表尾: 空.
[A] + [B] = [A,B]
# 如果计算merge里面的顺序:
merge([A,O], [C,E,F,O],[C])
# [A] + merge([O], [C,E,F,O],[C])
# [A,C] + merge([O], [E,F,O])

 

转载于:https://www.cnblogs.com/wjw6692353/p/10324787.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值