如何在python中使用childclass的方法调用第二个parentclass的方法?

How to call method of second parent class using method of child class in python?

下面是我的代码:

class Parent1(object):
    def __init__(self):
        print "!!! ___initialization Parent1___ !!!"

    def method(self):
        print "*** method of Parent1 is called ***"


class Parent2(object):
    def __init__(self):
        print "!!! ___initialization Parent2___ !!!"

    def method(self):
        print "*** method of Parent2 is called ***"

class Child(Parent1,Parent2):
    def __init__(self):
        print "!!! ___initialization Child___ !!!"

    def method(self):
        super(Child,self).method()
        print "*** method of Child is called ***"


Ch = Child()
Ch.method()

我想使用 child class 的 object 调用 Parent2 class 的 method()。条件只是 child class object 应该被创建并且 child class 声明没有变化(class Child(Parent1,Parent2): 不应该改变。)

Parent2.method(self)

这就是您所需要的 - instance.method() 只是 ClassName.method(instance) 的语法糖,所以您需要做的就是在没有语法糖的情况下调用它,它会很好。

我将 Child class 更改为:

class Child(Parent1,Parent2):
    def __init__(self):
        print "!!! ___initialization Child___ !!!"

    def method(self):
        super(Child,self).method()
        print "*** method of Child is called ***"
        Parent2.method(self)

并且:

# Out:
$ python c.py
!!! ___initialization Child___ !!!
*** method of Parent1 is called ***
*** method of Child is called ***
*** method of Parent2 is called ***

您完全可以得到预期的输出。