Verstehen Sie die Eingabe von Python-Enten

”If it walks like a duck and quacks like a duck, it must be a duck”

Die Programmierung ist nicht auf Python beschränkt, sondern hat das Konzept des Polymorphismus. Dies ist eines der Konzepte der objektorientierten Programmierung und wird auf Japanisch als Polymorphismus und Diversität bezeichnet.

Wenn es Methoden mit demselben Namen gibt, können Sie sie verwenden, auch wenn die Klassentypen unterschiedlich sind, und Sie können zwischen denselben Operationen für verschiedene Objekte wechseln.

Ein solcher Code wird als Ententypisierung bezeichnet.


class Animal(object):
    def run(self):
        print('Animal is running...')
class Dog(Animal):
    def run(self):
        print('Dog is running...')
class Cat(Animal):

    def run(self):
        print('Cat is running...')
class people():           #Bitte beachten Sie, dass es sich nicht um eine Unterklasse von Amimal handelt
    def run(self):
        print("people is running...(do not extends Animal)")
def run_twice(animal):
    animal.run()
    animal.run()
    
run_twice(Cat())
run_twice(Animal())
run_twice(people())   #Es kann problemlos ausgeführt werden.

Cat is running... Cat is running... Animal is running... Animal is running... people is running...(do not extends Animal) people is running...(do not extends Animal)

Recommended Posts

Verstehen Sie die Eingabe von Python-Enten
ABC für Python-Abstract-Klassen und Ententypisierung