如果您从许多实现了相同方法的类继承,那么哪种行为将提供Python?Python中的多继承,成熟类中的相同方法
Class A():
def method():
pass
Class B():
def method():
pass
Class C(A,B):
pass
如果您从许多实现了相同方法的类继承,那么哪种行为将提供Python?Python中的多继承,成熟类中的相同方法
Class A():
def method():
pass
Class B():
def method():
pass
Class C(A,B):
pass
这个问题相当复杂......至少有三种不同的Python方法解析顺序算法。
对于简单的情况下并非你所期望的,对于细微的差别看到
见http://python-history.blogspot.it/2010/06/method-resolution-order.html
三?我只计算两个;旧风格和新风格。 Python 3默认使用新风格,在Python 2中,您需要从'object'继承来做到这一点。第三是什么? –
来自Guido的博客文章:“Python至少知道三种不同的MRO算法:经典,Python 2.2新风格和Python 2.3新风格(又名C3)”。 – 6502
啊,我通常忽略2.2新风格,因为那只是一个版本,并且被认为是一个bug。从2.3开始,只有2个变种,你通常可以假设没有人再使用2.2。 –
你有没有简单地试着这样做? – Mailerdaimon
查找“方法解析顺序”(mro)的概念。 – glglgl
这也取决于Python版本; Python 2或3?如果Python 2,'A()'是否从'object'继承? –