python新式类c3算法_python3中的新式类mro查看和C3算法原理

classA:pass

classB(A):pass

classC(A):pass

classD(A):pass

classE(B,C):pass

classF(C,D):pass

classG(D):pass

classH(E,F):pass

classI(F,G):pass

classK(H,I):pass

#print(K.mro())#print(E.mro())#print(F.mro())#print(G.mro())#print(I.mro())#print(H.mro())

'''mro(K(H, I)) = [K] + merge(mro(H), mro(I), [H, I])

mro(K(H, I)) = [K] + merge(mro[H, E, B, F, C, D, A], [I, F, C, G, D, A], [H, I])

mro(K(H, I)) = [K, H] + merge(mro[E, B, F, C, D, A], [I, F, C, G, D, A], [I])

mro(K(H, I)) = [K, H, E, B, I] + merge(mro[F, C, D, A], [F, C, G, D, A])

mro(K(H, I)) = [K, H, E, B, I, F, ] + merge(mro[C, D, A], [C, G, D, A])

mro(K(H, I)) = [K, H, E, B, I, F, C, ] + merge(mro[D, A], [G, D, A])

mro(K(H, I)) = [K, H, E, B, I, F, C, G] + merge(mro[D, A], [D, A])

mro(K(H, I)) = [K, H, E, B, I, F, C, G, D, A]

mro(H)

mro(H(E, F)) = [H] + merge(mro(E), mro(F), [E, F])

mro(H(E, F)) = [H] + merge([E, B, C, A], [F, C, D, A], [E, F])

mro(H(E, F)) = [H, E] + merge([B, C, A], [F, C, D, A], [F])

mro(H(E, F)) = [H, E, B] + merge([C, A], [F, C, D, A], [F])

mro(H(E, F)) = [H, E, B, F] + merge([C, A], [C, D, A])

mro(H(E, F)) = [H, E, B, F, C] + merge([A], [D, A])

mro(H(E, F)) = [H, E, B, F, C, D, A]

mro(I)

mro(I(F, G)) = [I] + merge(mro(F), mro(G), [F, G])

mro(I(F, G)) = [I] + merge([F, C, D, A], [G, D, A], [F, G])

mro(I(F, G)) = [I, F] + merge([C, D, A], [G, D, A], [G])

mro(I(F, G)) = [I, F, C] + merge([D, A], [G, D, A], [G])

mro(I(F, G)) = [I, F, C] + merge([D, A], [D, A])

mro(I(F, G)) = [I, F, C, G, D] + merge([A], [A])

mro(I(F, G)) = [I, F, C, G, D, A]

mro(E)

mro(E(B, C)) = [E] + merge(mro(B), mro(C), [B, C])

mro(E(B, C)) = [E] + merge([B, A], [C, A], [B, C])

mro(E(B, C)) = [E, B] + merge([A], [C, A], [C])

mro(E(B, C)) = [E, B, C] + merge([A], [A])

mro(E(B, C)) = [E, B, C, A]

mro(F)

mro(F(C, D)) = [F] + merge(mro(C), mro(D), [C, D])

mro(F(C, D)) = [F] + merge([C, A], [D, A], [C, D])

mro(F(C, D)) = [F, C] + merge([A], [D, A], [D])

mro(F(C, D)) = [F, C, D] + merge([A], [A])

mro(F(C, D)) = [F, C, D, A]

mro(G)

mro(G(D)) = [G, D, A]'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值