Let’s learn about a big-sounding word: Polymorphism. Don’t worry — it’s simpler than it sounds!
What is Polymorphism?
Polymorphism means “many forms.”
It’s a concept where something (like a function or method) behaves differently based on the object it is working with.
Imagine this: A person can be a student, a player, and a singer. Same person — but different roles. That’s the idea behind polymorphism.
Simple Example 1: len() Function
Python has a built-in function len()
that gives you the length of something.
print(len("hello")) # Length of a string
print(len([1, 2, 3, 4])) # Length of a list
print(len((10, 20))) # Length of a tuple
Output:
5
4
2
Why This Output?
"hello"
has 5 letters → len("hello")
is 5
[1, 2, 3, 4]
has 4 items → len([1, 2, 3, 4])
is 4
(10, 20)
has 2 items → len((10, 20))
is 2
The same function (len()
) gives correct results for different types — that’s polymorphism!
Simple Example 2: Polymorphism with Classes
Let’s look at how polymorphism works with objects from different classes.
class Dog:
def speak(self):
return "Woof!"
class Cat:
def speak(self):
return "Meow!"
# Using polymorphism
animals = [Dog(), Cat()]
for animal in animals:
print(animal.speak())
Output:
Woof!
Meow!
Why This Output?
- Both
Dog
and Cat
have a method called speak()
.
- When we call
animal.speak()
, Python knows which version to use based on the object.
Dog
says Woof! and Cat
says Meow!.
This is polymorphism — speak()
behaves differently for different objects.
Polymorphism in Daily Life
Here are some fun examples:
- You can draw with a pencil, pen, or crayon. Same action, different tools → different results.
- You can drive a car, a bike, or a truck. Same action, different vehicles → different behavior.
Why Learn Polymorphism?
- It makes your code more flexible and reusable.
- You can write one function or method and use it for many types of data.
Conclusion
Polymorphism allows the same action to work differently depending on the object. Python uses this to make code simple, clean, and powerful. You’ll see more of this when you learn about inheritance and advanced classes!
Support ProgramGuru.org❯
You can support this website with a contribution of your choice.
When making a contribution, mention your name, and programguru.org in the message. Your name shall be displayed in the sponsors list.
UPI
MALLIKARJUNA M