在继承的情况下,是否可以在python中使用子类对象引用来调用第二个父类方法?如果是,那怎么办?

在继承的情况下,是否可以在python中使用子类对象引用来调用第二个父类方法?如果是,那怎么办?,python,inheritance,Python,Inheritance,我最近开始探索python技术。我做运动时发现了一个问题 假设我们有两个名称不同但名称相同的类,两个类中都存在方法,且没有参数。例如: class Parent_1: # define parent class def myMethod(self): print 'Calling parent method_1' 另一个是 class Parent_2: # define parent class def myMethod(self): prin

我最近开始探索python技术。我做运动时发现了一个问题

假设我们有两个名称不同但名称相同的类,两个类中都存在方法,且没有参数。例如:

class Parent_1: # define parent class
    def myMethod(self):
        print 'Calling parent method_1'
另一个是

class Parent_2: # define parent class
    def myMethod(self):
        print 'Calling parent method_2'
我有另一个类(子类),它继承了这两个类

class Child(Parent_1, Parent_2): # define child class
    print "abc"
    #Parent_1().myMethod();
    #Parent_2().myMethod();
看这里,如果我尝试调用第二个类方法,那么我可以在子类中使用第二个父类引用调用。 但当我试图使用子类对象引用从外部调用时

c = Child()
c.myMethod()
输出为:

abc
Calling parent method_1
在这里,您可以看到,默认情况下,它将使用子类引用调用第一个父类方法

c = Child()
c.myMethod()
如果我想使用子类引用显式调用另一个类的相同方法,而不改变继承的基类顺序,该怎么办。

有没有可能?如果是,那怎么办


提前感谢&请给我关于这个问题的宝贵答案,如果我忘了在这里提及任何事情,请给我建议。最好的建议或答案将不胜感激。

您可以调用unbound函数并显式传递
self
参数:

Parent_2.myMethod(c)

您可以调用unbound函数并显式传递
self
参数:

Parent_2.myMethod(c)

在这个场景中,我可以假设@Rawing?@InfinityRazor是什么方法?这只是一种调用方法的方法,自顶向下或自下而上与此无关。但OOP通常被认为是自底向上的。好吧,这项技术非常有用,感谢您提供了宝贵的答案@Rawing。在这种情况下,我可以采用什么方法@Rawing?@InfinityRazor这只是调用方法的一种方式,自顶向下或自下而上与此无关。但OOP通常被认为是自下而上的。好吧,这项技术真的很有用,多亏了有价值的答案@Rawing。