Python Polymorphism

JK1772 
Created at Jun 19, 2023 11:54:35
Updated at May 09, 2024 15:51:28 
  6,643   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 Share on Facebook Share on X

◀ PREVIOUS
Python Iterators

▶ NEXT
Python Scope

  Comments 0
SIMILAR POSTS

Python Scope

(updated at May 09, 2024)

Python Modules

(updated at May 09, 2024)

Python Iterators

(updated at May 09, 2024)

Python Inheritance

(updated at May 09, 2024)

Python Classes/Objects

(updated at May 09, 2024)

Python Arrays

(updated at May 09, 2024)

Python Lambda

(updated at May 09, 2024)

Python Functions

(updated at May 09, 2024)

Python While Loops/For Loops

(updated at May 09, 2024)

Python Conditions and If statements

(updated at May 09, 2024)

Python Dictionaries

(updated at May 09, 2024)

Python Sets

(updated at May 09, 2024)

Python Tuples

(updated at May 09, 2024)

Python Comparison Operators

(updated at May 10, 2024)

Python Arithmetic Operators

(created at Jun 14, 2023)

Printing string n times

(created at Jun 14, 2023)

String concatenation by join()

(created at Jun 14, 2023)

Python Lists

(updated at May 10, 2024)

Python String Operations

(updated at May 10, 2024)

Python Data Types

(updated at May 10, 2024)

Python Variables

(updated at May 10, 2024)

Python Comments

(updated at May 10, 2024)

Python Syntax

(updated at May 10, 2024)

Python Getting Started

(updated at May 10, 2024)

Python Introduction

(created at Jun 12, 2023)

What is Python?

(updated at Jan 04, 2024)

Code Chronicles - A Caffeine-Fueled Journey into Data Software Engineering

(updated at Sep 23, 2024)

Machine Learning Types and Programming Languages

(updated at Nov 29, 2023)

Python Tutorials for AP Computer Science Principles, Data Projects and High School Internship

(updated at May 10, 2024)

Mastering Excel Data Manipulation with Python

(updated at Apr 26, 2024)

OTHER POSTS IN THE SAME CATEGORY

Mastering Excel Data Manipulation with Python

(updated at Apr 26, 2024)

Try...Catch Helps Ignoring Data Type Miss-Match Error in Python

(updated at Mar 26, 2024)

RegExp example in Python to exclude javascript from HTML code

(created at Mar 22, 2024)

Python code to convert from Lunar to Solar

(created at Mar 22, 2024)

Python example to download webpage

(updated at May 15, 2024)

Python Tutorials for AP Computer Science Principles, Data Projects and High School Internship

(updated at May 10, 2024)

Python Modules

(updated at May 09, 2024)

Python Scope

(updated at May 09, 2024)

Python Iterators

(updated at May 09, 2024)

Python Inheritance

(updated at May 09, 2024)

Python Classes/Objects

(updated at May 09, 2024)

Python Arrays

(updated at May 09, 2024)

Python Lambda

(updated at May 09, 2024)

Python Functions

(updated at May 09, 2024)

Python While Loops/For Loops

(updated at May 09, 2024)

Python Conditions and If statements

(updated at May 09, 2024)

Python Dictionaries

(updated at May 09, 2024)

Python Sets

(updated at May 09, 2024)

Python Tuples

(updated at May 09, 2024)

Python Comparison Operators

(updated at May 10, 2024)

Python Arithmetic Operators

(created at Jun 14, 2023)

Printing string n times

(created at Jun 14, 2023)

String concatenation by join()

(created at Jun 14, 2023)

UPDATES

Did you know that the person who voiced Humtrix Rumi in KPop Demon Hunters went to UIUC?

(updated at Sep 05, 2025)

WING - Dopamine

(created at Sep 05, 2025)

CARDIO VS Jackbryan | Korea Beatbox Championship 2025 | Semifinal

(updated at Sep 04, 2025)

Tech Visionaries who graduated at UIUC - You are the Next Turn

(updated at Sep 04, 2025)

Thinking about the Public Dataset and Open API provided for the Authorized People

(updated at Sep 04, 2025)

Where to Eat with Your i-Card at UIUC and How to Track Your Dining Dollars

(updated at Sep 04, 2025)

OMG! Did you consume your meals already at UIUC? How do you change the meal plan?

(updated at Sep 03, 2025)

Java Comments

(updated at Sep 03, 2025)

Abraham Lincoln Contributed to UIUC's Creation and its Mission

(created at Sep 03, 2025)

Feeling weak? Transform yourself at the UIUC ARC!

(updated at Sep 03, 2025)

Checking Your Upcoming Assignment/Exam Schedule: Using the UIUC Canvas Dashboard for Assignment Management

(updated at Sep 03, 2025)

UIUC Course Map for CS and Blended CS Degrees

(updated at Sep 02, 2025)

What You Need to Prepare for Graduate University at UIUC

(updated at Sep 01, 2025)

Did you know about the UIUC Course Numbering Policy? How to meet with 120 GPA hours?

(created at Sep 01, 2025)

My Dad's Bucket Hat Craze: One Man's Quest for Collegiate Headwear

(created at Aug 30, 2025)

Public Transportation between Chicago O'Hare International Airport and UIUC (University of Illinois at Urbana-Champaign)

(updated at Aug 27, 2025)

How to Receive Mail and Packages in University Housing at UIUC

(updated at Aug 27, 2025)

When you are too busy to have your breakfast/lunch/dinner, use Good2Go Carryout Program

(created at Aug 27, 2025)

Why Outlook’s Redirection Option Is a Game-Changer

(updated at Aug 27, 2025)

Why Every Freshman Needs the Illinois App at UIUC

(updated at Aug 24, 2025)

My First Day at University of Illinois-Urvana Champaign

(created at Aug 22, 2025)

Did you get Selective Service System(SSS) Form 3C?

(updated at Aug 17, 2025)

BlackPink's refreshing song - Jump

(updated at Aug 08, 2025)

Poisonous Mushrooms sprouted along the roadside after Typhoon

(updated at Aug 06, 2025)

Annual Weather Forecasting in Illinois based on Month

(updated at Aug 06, 2025)

My name has a typo in MyIllini - Need a Biographical change form

(updated at Jul 31, 2025)

Free Transportation Systems for UIUC students, faculty, and staff with I-Card

(updated at Jul 31, 2025)

What you can do with I-Card at UIUC

(updated at Jul 31, 2025)

Selecting a Bed Configuration before you move-in at UIUC Dormitory

(updated at Jul 30, 2025)

Student Health Insurance Waiver: Major Deadlines You Can’t Miss

(updated at Jul 22, 2025)

Types of Memory and Storage

(updated at Jul 22, 2025)

Sample Curriculum Comparison CS versus CS+GGIS at UIUC

(updated at May 31, 2025)

UIUC 2025-2026 Academic Calendar

(updated at May 26, 2025)

IU (아이유) appeared at Mask Singer with Violet Fragrance (보라빛 향기)

(updated at Apr 17, 2025)

What is Model Context Protocol (MCP)? How to build AI Agents?

(updated at Apr 17, 2025)

송소희(Song Sohee) - Not a Dream

(updated at Apr 08, 2025)

DOH KYUNG SOO & LEE SUHYUN - Rewrite The Stars cover

(created at Apr 08, 2025)

😲😭 디오(D.O.) - 후라이의 꿈 + Rewrite the stars(with. 수현)

(created at Apr 08, 2025)

D.O. (도경수) & IU (아이유) - Love Wins All | IU’s Palette (아이유의 팔레트)

(updated at Apr 08, 2025)

Lie - Legend song by BIGBANG

(updated at Feb 26, 2025)

Happy New Year Message with Mathematical Equations

(updated at Jan 02, 2025)

Life Quotes from Google CTO Will Grannis emphasizes the importance of data and the problem definition

(updated at Dec 17, 2024)

Life Quotes from Netflix CTO Elizabeth Stone in 2023

(updated at Dec 17, 2024)

Exploring UC Irvine (aka UCI) - School and its Majors

(updated at Dec 13, 2024)

Understanding Rose-Hulman Institute of Technology

(updated at Dec 13, 2024)

Chilling Acrobatic Taekwondo! The Birth of a Poomsae Prodigy - Byeon Jae-yeong Wins 1st Place at the Hong Kong World Poomsae Championships

(created at Dec 12, 2024)

IU's breathtakingly beautiful "eight" live performance, captivating the hearts of the audience with her dazzling vocals

(created at Dec 10, 2024)

Navigation for UMass Amherst (aka University of Massachusetts Amherst) - Campus Life and Underground Majors

(updated at Dec 10, 2024)

Exploring UC San Diego (aka UCSD) - School and its Majors

(updated at Dec 10, 2024)

How to access websites blocked by ESNI and ECH settings with Firefox!

(updated at Nov 29, 2024)