Python Polymorphism

JK JK 2038 
Created at
Updated at  
7,123 0 0

The word "polymorphism" means "many forms", and in programming it refers to methods/functions/operators with the same name that can be executed on many objects or classes.


Function Polymorphism

An example of a Python function that can be used on different objects is the len() function.


String

For strings len() returns the number of characters:

x = "Hello World!"

print(len(x))

Tuple

For tuples len() returns the number of items in the tuple:

mytuple = ("apple", "banana", "cherry")

print(len(mytuple))

Dictionary

For dictionaries len() returns the number of key/value pairs in the dictionary:

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}

print(len(thisdict))

Class Polymorphism

Polymorphism is often used in Class methods, where we can have multiple classes with the same method name.

For example, say we have three classes: Car, Boat, and Plane, and they all have a method called move():

class Car:
  def __init__(self, brand, model):
    self.brand = brand
    self.model = model

  def move(self):
    print("Drive!")

class Boat:
  def __init__(self, brand, model):
    self.brand = brand
    self.model = model

  def move(self):
    print("Sail!")

class Plane:
  def __init__(self, brand, model):
    self.brand = brand
    self.model = model

  def move(self):
    print("Fly!")

car1 = Car("Ford", "Mustang")       #Create a Car class
boat1 = Boat("Ibiza", "Touring 20") #Create a Boat class
plane1 = Plane("Boeing", "747")     #Create a Plane class

for x in (car1, boat1, plane1):
  x.move()

Look at the for loop at the end. Because of polymorphism we can execute the same method for all three classes.


Inheritance Class Polymorphism

What about classes with child classes with the same name? Can we use polymorphism there?

Yes. If we use the example above and make a parent class called Vehicle, and make Car, Boat, Plane child classes of Vehicle, the child classes inherits the Vehicle methods, but can override them:

class Vehicle:
  def __init__(self, brand, model):
    self.brand = brand
    self.model = model

  def move(self):
    print("Move!")

class Car(Vehicle):
  pass

class Boat(Vehicle):
  def move(self):
    print("Sail!")

class Plane(Vehicle):
  def move(self):
    print("Fly!")

car1 = Car("Ford", "Mustang") #Create a Car object
boat1 = Boat("Ibiza", "Touring 20") #Create a Boat object
plane1 = Plane("Boeing", "747") #Create a Plane object

for x in (car1, boat1, plane1):
  print(x.brand)
  print(x.model)
  x.move()

Child classes inherits the properties and methods from the parent class.

In the example above you can see that the Car class is empty, but it inherits brand, model, and move() from Vehicle.

The Boat and Plane classes also inherit brand, model, and move() from Vehicle, but they both override the move() method.

Because of polymorphism we can execute the same method for all classes.

Tags Python Python Polymorphism Facebook X
Comments 0
Similar posts
  1. Python Scope
    7,102
  2. Python Modules
    7,156
  3. Python Iterators
    7,153
  4. Python Inheritance
    7,242
  5. Python Classes/Objects
    7,536
  6. Python Arrays
    7,133
  7. Python Lambda
    7,148
  8. Python Functions
    7,096
  9. Python While Loops/For Loops
    7,576
  10. Python Conditions and If statements
    7,164
  11. Python Dictionaries
    7,103
  12. Python Sets
    7,141
  13. Python Tuples
    7,231
  14. Python Comparison Operators
    7,305
  15. Python Arithmetic Operators
    7,117
  16. Printing string n times
    7,100
  17. String concatenation by join()
    7,168
  18. Python Lists
    7,408
  19. Python String Operations
    7,500
  20. Python Data Types
    7,512
  21. Python Variables
    7,479
  22. Python Comments
    7,639
  23. Python Syntax
    7,466
  24. Python Getting Started
    7,529
  25. Python Introduction
    7,138
  26. What is Python?
    7,787
  27. Code Chronicles - A Caffeine-Fueled Journey into Data Software Engineering
    7,424
  28. Machine Learning Types and Programming Languages
    7,298
  29. Python Tutorials for AP Computer Science Principles, Data Projects and High School Internship
    8,004
  30. Mastering Excel Data Manipulation with Python
    7,120
  31. Challenge: One Code Problem Per Day
    1,207
  32. Clean Python Environments: The Power of venv vs. Docker
    1,001
  1. How to Build Llama 3 AI Apps with Python: Setup & User Prompts
    960
  2. Try...Catch Helps Ignoring Data Type Miss-Match Error in Python
    9,390
  3. RegExp example in Python to exclude javascript from HTML code
    7,094
  4. Python code to convert from Lunar to Solar
    7,818
  5. Python example to download webpage
    8,747
Recently updated
  1. Comprehensive Guide to Recent Critical PHP Vulnerabilities
    209
  2. How to Check Your UIUC Graduation Progress Using DARS Audit
    196
  3. Michael Jackson's Billie Jean
    303
  4. Meet A2O Lite: Korea's Newest K-Pop Cuties with Addictively Catchy Melodies
    145
  5. Why You Can't Stop Watching Jack Bryan's Beatbox Gaming Shorts
    196
  6. Song So-hee: The Soulful Voice Touching Hearts Through Korean Music
    228
  7. Watch This Dazzling Dancer’s Mind-Blowing Moves
    242
  8. Bootstrap vs. Tailwind CSS: Origins, Features, Pros & Cons, and How to Choose the Right Framework
    280
  9. The Complete Guide to Golang: History, Features, Real-World Uses, and Code Examples
    855
  10. Telemetry vs. Analytics: Understanding the Difference and Why It Matters
    428
  11. The Evolution and Production Reality of Agentic AI
    344
  12. How to Activate or Waive Your UIUC Student Health Insurance
    431
  13. Complete Guide to Building a Machine Learning Model
    451
  14. My life cuts at Las Vegas during Thanksgiving day holiday
    7,543
  15. The Cybercab Transformation: From Autonomous Taxi to Mobile Base Station
    479
  16. Harness vs. OpenClaw: Two Very Different "Agents"
    1,194
  17. What is Docker? Why is Docker also useful in a development environment?
    735
  18. UIUC 2026-2027 Academic Calendar
    1,840
  19. Open-Source LLMs: The AI Revolution
    898
  20. Resume 2.0: Leveling Up for My First Software Gig
    2,605
  21. Not everyone will understand what this man just did
    2,177
  22. UIUC Dorm Guide: Find Your Perfect Fit !!
    1,741
  23. Unpacking IU's Shopper
    909
  24. Jackie Chan's Police Story: The Action Masterpiece
    780
  25. The IVE Story: Identity, 'I AM' Charts, and Influence
    1,094
  26. Tech Visionaries who graduated at UIUC - You are the Next Turn
    1,305
  27. Open Databases for Sex Crime Occurrences in the U.S.
    855
  28. Automatically copy text to the clipboard when dragging the mouse in the Cursor
    3,028
  29. My First Day at University of Illinois-Urvana Champaign
    1,307
  30. Sand, Sea, and a Splash of Fun at Newport Beach: A Family Adventure
    8,309
  31. Sun, Rocks, and Adventure: A Day at Joshua Tree National Park
    8,390
  32. Sipping the Stars: My Starbucks Adventure
    9,916
  33. Exciting explore at Sequoia National Park
    7,803
  34. My Life Shot at Death Valley
    1,906
  35. Ip Man fights with Muay Thai Master
    1,066
  36. Mad Clown - Don't Die
    1,173
  37. How to get Student Enrollment and Degree Verification at UIUC
    5,352
  38. LAX Thanksgiving Rush: A Joyful Reunion
    1,025
  39. ZO ZAZZ(조째즈) - Don`t you know (모르시나요) (PROD.ROCOBERRY)
    1,260
  40. FISHINGIRLS Unleashes Energetic EP 'Funiverse' Featuring Signature Track 'Fishing King'
    1,095
  41. 10CM - To Reach You (너에게 닿기를)
    1,272
  42. Feeling weak? Transform yourself at the UIUC ARC!
    1,681
  43. BOYNEXTDOOR - If I Say I Love You
    1,296
  44. The Future of Software Engineer - AI Engineering
    1,031
  45. G Dragon x Taeyang (Eyes Nose Lips, Power, Home Sweet Home, GOOD BOY) - LE GALA PIÈCES JAUNES 2025
    1,029
  46. Lie - Legend song by BIGBANG
    7,935
  47. Why ROLLBACK is useful when you work with Google Gemini CLI?
    991
  48. Reimbursement after Vaccination at McKinley Health Center
    1,130
  49. Gemini CLI makes a Magic! Time to speed up your app development with Google Gemini CLI!
    1,074
  50. Common Questions from UIUC school life in terms of CS Program
    1,251