V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  liukeai7777  ›  全部回复第 2 页 / 共 2 页
回复总数  26
1  2  
@ruoshui31 老哥 你们那不能上外网的 程序员要查资料怎么搞
2019 年 2 月 18 日
回复了 promer94 创建的主题 酷工作 招聘[深圳]-前端工程师-招商局金融科技
@promer94 有其他岗位可以内推吗
@Outliver0 我也是准备用 vue ! thanks
D 的 mro 是 (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <type 'object'>)
init C...
init B...
init D...

所以 super 方法的查找顺序就 DBCA 多以第一个例子 第一步运行到 class D 的 show 方法 ,
class D show 第一句:
[super(D, self).show() 查找 B 的 show 方法。运行到 class B 的 show 方法,classB show 执行第一句:super(B, self).show() 然后又找到 class C 的 show 方法 于是打印第一句 init C,执行第二句 init B]
class D 的 show 第二句 打印 init D

同理第二个例子
MRO 是 DCBA
D 的 mro 是 (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <type 'object'>)
init C...
init B...
init D...

所以 super 方法的查找顺序就 DBCA 多以第一个例子 第一步运行到 class D 的 show 方法 ,
class D show 第一句:
[super(D, self).show() 查找 B 的 show 方法。运行到 class B 的 show 方法,classB show 执行第一句:super(B, self).show() 然后又找到 class C 的 show 方法 于是打印第一句 init C,执行第二句 init C ]
class D 的 show 第二句 打印 init C

同理第二个例子
MRO 是 DCBA
1  2  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1430 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 23:59 · PVG 07:59 · LAX 16:59 · JFK 19:59
♥ Do have faith in what you're doing.