![](/img/trans.png)
[英]How do I call a base class method from within the same overloaded derived class method in python?
[英]How to call a method of base class with same name method in derived class in python?
代码:-
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 object 调用eat() 方法时,它会打印“Dog Eating”,有没有办法用 mydog object 调用基础动物 class 的eat() 方法,就像这样
mydog.Animal.eat() or mydog.eat(Animal)
我不想使用 super(),因为它会从子 class 调用eat(),所以它会打印两个语句“动物吃”和“狗吃”,这是我不想要的,我想调用一次只有一个。
可以,可以直接调用Animal
的eat
方法,传入object作为参数。
Animal.eat(mydog)
虽然如果您给方法提供不同的名称,它可能会使代码更容易混淆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.