What is OOPS ?
Classes
Objects
Real life example
Object Oriented Programming Style (OOPS) is a programming style that deals with classes & objects.
The main aim of object-oriented programming is to implement real-world entities, for example, object, classes, abstraction, inheritance, polymorphism, etc.
A class is a blueprint for the object.
An object is an entity that has a state and some behaviour.
Car
Car
Blueprint
Blueprint
Blueprint
Factory
Blueprint
Factory
Blueprint
Blueprint
Blueprint
Properties:
Blueprint
Properties:
- Model name
Blueprint
Properties:
- Model name
- Color
Blueprint
Properties:
- Model name
- Color
- Price
Blueprint
Properties:
- Model name
- Color
- Price
Functionalities:
Blueprint
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
Blueprint
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car:
# body
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car:
model = "Hatchback"
color = "Black"
price = 100000
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
Ignore the 'self' keyword for now. We'll cover it later.
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
Ignore the 'self' keyword for now. We'll cover it later.
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
Blueprint
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
Blueprint
# Main part of the program
Blueprint
# Main part of the program
c1 = Car()
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
Blueprint
c1
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
Blueprint
c1
c2
# Main part of the program
c1 = Car()
c2 = Car()
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
Blueprint
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
c1
c2
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
Blueprint
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
c1
c2
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
Properties
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
Data members
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Functions
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Black
100000
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Black
100000
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Black
100000
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Black
100000
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
c2.color = "Red"
print(c2.color) # Red
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Red
100000
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
c2.color = "Red"
print(c2.color) # Red
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Red
100000
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
c2.color = "Red"
print(c2.color) # Red
c2.fuel = "CNG"
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
fuel:
Hatchback
Red
100000
CNG
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
c2.color = "Red"
print(c2.color) # Red
c2.fuel = "CNG"
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
fuel:
Hatchback
Red
100000
CNG
class Car:
model = "Hatchback"
color = "Black"
price = 100000
def drive(self):
print("Zoom zoom zoom")
def lock(self):
print("Car is now locked")
def unlock(self):
print("Car is now unlocked")
# Main part of the program
c1 = Car()
c2 = Car()
print(c1.color) # Black
print(c1.model) # Hatchback
print(c1.price) # 100000
c2.color = "Red"
print(c2.color) # Red
c2.fuel = "CNG"
print(c2.fuel) # CNG
class ComplexNumber:
real = 0
imaginary = 0
def print(self):
print("{} + {}i".format(self.real, self.imaginary))
# 5 + 3i
x = ComplexNumber()
x.real = 5
x.imaginary = 3
x.print()
Write a class to store and perform operations on complex numbers.
In Python, pretty much everything is an object, whether it is a number, a function or even modules.
a = 5
print(type(a)) # <class 'int'>
b = "May the Force be with you"
c = 63.29
def hello():
print("Hello world")
print(type(b)) # <class 'str'>
print(type(c)) # <class 'float'>
print(type(hello)) # <class 'function'>