gpt4 book ai didi

python - 如何在python中使用子类的方法调用第二个父类的方法?

转载 作者:行者123 更新时间:2023-12-05 04:13:00 25 4
gpt4 key购买 nike

下面是我的代码:

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()

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

最佳答案

Parent2.method(self)

这就是您所需要的 - instance.method() 只是 ClassName.method(instance) 的语法糖,所以您需要做的就是调用它而不需要语法糖,它会做的很好。

我将 Child 类更改为:

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 ***

你得到了完美的预期输出。

关于python - 如何在python中使用子类的方法调用第二个父类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38789345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com