Yandex

Python Polymorphism
Same Thing, Different Behavior



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
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())
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!



Welcome to ProgramGuru

Sign up to start your journey with us

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.

PayPal

UPI

PhonePe QR

MALLIKARJUNA M