python伪多态


class Animal:
def run(self):
print('------animal run-------')


class Cat(Animal):
def run(self):
print('------cat run-------')


class Dog(Animal):
def run(self):
print('------dog run-------')


class Pig(Animal):
pass


def func(obj_an: Animal):
obj_an.run()


animal = Animal()
cat = Cat()
dog = Dog()
pig = Pig()
func(animal)
func(cat)
func(dog)
func(pig)

print(Animal.__dict__)
print(Cat.__dict__)

输出:

------animal run-------
------cat run-------
------dog run-------
------animal run-------
{'__module__': '__main__', 'run': , '__dict__': , '__weakref__': , '__doc__': None}
{'__module__': '__main__', 'run': , '__doc__': None}