gpt4 book ai didi

python - 如何在python的派生类中调用同名方法的基类方法?

转载 作者:行者123 更新时间:2023-12-03 22:59:13 25 4
gpt4 key购买 nike

代码:-

class Animal():

def __init__(self) -> None:
print("Animal Created")


def eat(self):
print("Animal Eating")

class Dog(Animal):

def __init__(self) -> None:
# Animal.__init__(self)
print ("Dog Created")

def eat(self):
print("Dog Eating")

mydog = Dog()
mydog.eat()
在这里,当我用 mydog 对象调用eat()方法时,它会打印“Dog Eating”,有没有办法用 mydog 对象调用基础 Animal 类的eat()方法,就像这样
mydog.Animal.eat() or mydog.eat(Animal)
我不想使用 super(),因为它也会从子类调用eat(),所以它会打印两个语句“动物吃”和“狗吃”,这是我不想要的,我想调用一次只有一个。

最佳答案

是的,您可以调用eat Animal的方法直接将对象作为参数传递。

Animal.eat(mydog)
尽管如果您给方法提供不同的名称,它可能会使代码更容易混淆。

关于python - 如何在python的派生类中调用同名方法的基类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67244328/

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