簡體   English   中英

如何在 python 的派生 class 中調用具有相同名稱方法的基本 class 的方法?

[英]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(),所以它會打印兩個語句“動物吃”和“狗吃”,這是我不想要的,我想調用一次只有一個。

可以,可以直接調用Animaleat方法,傳入object作為參數。

Animal.eat(mydog)

雖然如果您給方法提供不同的名稱,它可能會使代碼更容易混淆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM