Python 3.x python支持多重继承,如何消除歧义?
若我在两个类中编写相同的方法,解释器将如何决定执行哪个类Python 3.x python支持多重继承,如何消除歧义?,python-3.x,Python 3.x,若我在两个类中编写相同的方法,解释器将如何决定执行哪个类 class A: method1(): pass class B: method1(): class C(A,B): 类C继承了类A和类B。如何调用B类的Method1()。它接受第一个实例 class A: def method(self): print ("a") class B: def method(self): print ("b") class C(A
class A:
method1():
pass
class B:
method1():
class C(A,B):
类C继承了类A和类B。如何调用B类的Method1()。它接受第一个实例
class A:
def method(self):
print ("a")
class B:
def method(self):
print ("b")
class C(A,B):
pass
结果
>>> a = C()
>>> a.method()
a
请澄清。这篇文章的标题提出了一个问题,但文章中的问题提出了一些稍微不同的问题。通过问第二个问题,你似乎知道MRO说C类的实例将有其
方法1
调用A的版本。那么,您是否确实知道这一点,并且只需要帮助访问该方法的B版本?(另外你忘了self
parameters顺便说一句)重复的问题已经回答了,这是我的错误,但我仍然不想调用类b method1(),我如何调用它,如何调用方法())类B的实现方法在python中是不好的做法可能不同的方式是A继承B然后B继承C所以你有一个树或函数名不同你写的代码是正确的但是如果我不想使用类B的function method(),那么我如何从外部调用它呢