Polymorphism generalizes a functionality so it can work on different types. It’s an important concept in object-oriented programming.
We can define the same method on different classes:
class Dog: def eat(): print('Eating dog food') class Cat: def eat(): print('Eating cat food')
Then we can generate objects and we can call the
eat() method regardless of the class the object belongs to, and we’ll get different results:
animal1 = Dog() animal2 = Cat() animal1.eat() animal2.eat()
We built a generalized interface and we now do not need to know that an animal is a Cat or a Dog.