Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
What is Polymorphism? | Polymorphism and Abstraction
In-Depth Python OOP
course content

Course Content

In-Depth Python OOP

In-Depth Python OOP

1. OOP Concepts
2. Inheritance
3. Encapsulation
4. Polymorphism and Abstraction
5. Magic Methods

bookWhat is Polymorphism?

Polymorphism is one of the fundamental concepts in object-oriented programming (OOP). It refers to the ability of different classes to share the same attributes and methods while exhibiting different behaviors.

Let's consider an example of polymorphism:

1234567
dct = {1: "first", 2: "second", 3: "third"} string = "Codefinity" lst = [1, 2, 3, 4, 5] print(len(dct)) # counts the keys in dictionary print(len(string)) # counts the symbols in string print(len(lst)) # counts the elements in list
copy

The len() function exhibits different behaviors depending on the type of data it operates on. This example serves as a demonstration of polymorphism in action.

Polymorphism Implementation

To implement polymorphism, we can create classes that share the same attributes and methods:

123456789101112131415161718192021222324252627
class User: role = "User" def info(self, some_value): print("This is standart user.", some_value + 100) class Admin: role = "Admin" def info(self, some_value): print("This is admin of this service.", some_value * 100) class Hacker: role = "Hacker" def info(self, some_value): print("This person can thief your data.", some_value * 0) user = User() admin = Admin() hacker = Hacker() lst = [user, admin, hacker] for item in lst: print(item.role) item.info(33)
copy

Note

Polymorphism in Python refers to the ability of objects to exhibit different behaviors while performing the same actions.

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 4. Chapter 1
some-alt