Example of OOPs on Python
Class and Object
Program 1:
class Computer:
def config(self):
print("i7,16gb, 1TB")
a=10;
print(type(a))
com1 = Computer()
print(type(com1))
program 2:
class Computer:
a=10
def config(self):
print("i7,16gb, 1TB")
#config()
#Computer.config()
com1=Computer()
com2=Computer()
com1.config()
com2.config()
print(com1.a)
#Computer.config(com1)
program 3:
class Computer:
compaddr = 123
def __init__(self,cpu,Ram):
self.cpu = cpu
self.Ram = Ram
print("constructor")
def config(self):
print("Config is",self.cpu, self.Ram)
com1=Computer('i5',16)
com2=Computer('i7',8)
com1.config()
com2.config()
#obj address
print(id(com1))
program 4:
class Human:
def __init__(self):
self.name = "sheik"
self.age = 25
def update(self):
self.age = 30
def compare(self, h2):
if self.age == h2.age:
return True
else:
return False
h1 = Human()
h2 = Human()
print(h1.name)
print(h2.name)
# if you change object name attribute
h1.name = "gces"
print(h1.name)
# update attribute
h1 = Human()
print(h1.name)
print(h1.age)
h1.update()
print(h1.name)
print(h1.age)
# comparing
if h1.compare(h2):
print("Same")
else:
print("different")
program 5:
Object Taxi:
class Taxi:
def __init__(self, dname, onduty, cities):
self.dname = dname
self.onduty = onduty
self.cities = cities
self.numpassenger = 0
def changedrivername(self, newdrivername):
self.dname = newdrivername
def passenger(self, numofpassenger):
self.numpassenger += numofpassenger
t1 = Taxi("john", True, ['try', 'chennai'])
print(t1.dname)
print(t1.onduty)
print(t1.cities)
print(t1.numpassenger)
t1.changedrivername("sheik")
print(t1.dname)
print(t1.onduty)
print(t1.cities)
print(t1.numpassenger)
t1.passenger(4)
print(t1.dname)
print(t1.onduty)
print(t1.cities)
print(t1.numpassenger)
Type of variable:
#Type of Variable
#instance variable
#class(static) variable
class Car:
#static class variable
wheels = 4
def __init__(self):
#instance variable
self.company = "BMW"
self.mil = 10
c1 = Car()
c2 = Car()
Car.wheels= 5
c1.mil = 6
print(c1.company,c1.mil,c1.wheels)
print(c2.company,c2.mil,c2.wheels)
Types of methods:
#Type of Variable
#instance variable
#class(static) variable
class Car:
#static class variable
wheels = 4
def __init__(self):
#instance variable
self.company = "BMW"
self.mil = 10
c1 = Car()
c2 = Car()
Car.wheels= 5
c1.mil = 6
print(c1.company,c1.mil,c1.wheels)
print(c2.company,c2.mil,c2.wheels)
#Types of methods
#Instance , Class, Static
class Students:
college = "gces"
def __init__(self,m1,m2,m3):
self.m1 = m1
self.m2 = m2
self.m3 = m3
def avg(self):
return (self.m1 + self.m2 + self.m3)/3
@classmethod
def collegename(cls):
return cls.college
@staticmethod
def info():
print("this is static")
s1 = Students(99,99,99)
s2 = Students(90,90,90)
print(s1.avg())
print(s2.avg())
print(s2.collegename())
s1.info()
s2.info()
Students.info()
#inner class
class Stud:
def __init__(self,name,rollno):
self.name = name
self.rollno = rollno
self.dpt = self.Dept
class Dept:
def __init__(self,dept):
self.dept= dept
stud1 = Stud("Sheik",1234)
dpt1= stud1.Dept("CSE")
print(stud1.name,stud1.rollno,dpt1.dept)
#single inheritance
class viva:
def feature1(self):
print("feature 1
def feature2(self):
print("feature 2
class oppo(viva):
def feature3(self):
print("feature 3
def feature4(self):
print("feature 4
f1 = oppo()
f1.feature1()
working")
working")
working")
working")
#multilevel
class viva:
def feature1(self):
print("feature 1
def feature2(self):
print("feature 2
class oppo(viva):
def feature3(self):
print("feature 3
def feature4(self):
print("feature 4
class Iphone(oppo):
def feature5(self):
print("feature 5
f1 = Iphone()
f1.feature1()
working")
working")
working")
working")
working")
#multiple
class Viva:
def feature1(self):
print("feature 1
def feature2(self):
print("feature 2
class Oppo():
def feature3(self):
print("feature 3
def feature4(self):
print("feature 4
class Iphone(Oppo,Viva):
def feature5(self):
print("feature 5
f1 = Iphone()
f1.feature1()
f1.feature3()
working")
working")
working")
working")
working")
#constructor with
Super() inheritance
class Viva:
def __init__(self):
print("Welcome Viva Constructor Calling")
class Oppo(Viva):
def __init__(self):
super().__init__()
print("Welcome oppo Constructor Calling")
f1 = Oppo()
#Method Resolution Order
class Viva:
def feature4(self):
print("feature 1 working")
class Oppo():
def feature1(self):
print("feature 1 B working")
class Iphone(Viva,Oppo):
def __init__(self):
super().feature1()
print("Welcome Iphone Constructor Calling")
f1 = Iphone()
print(Iphone.mro())
#Polymorphism
Need module 're' for regular
expression duck typing
import re
search_string = "wrwr"
pattern = "Tutorials"
match = re.match(pattern, search_string)
#If-statement after search() tests if it succeeded
if match:
print("regex matches: ", match.group())
else:
print('pattern not found')
#operator overloading
class Student:
def __init__(self,m1,m2):
self.m1=m1
self.m2=m2
def __add__(self, other):
m1 = self.m1 + other.m1
m2 = self.m2 + other.m2
s3=Student(m1,m2)
return s3
s1 = Student(88, 14)
s2 = Student(99, 89)
s3 = s1 + s2
print(s3.m1)
#Method Overloading
class Student:
def __init__(self,m1,m2):
self.m1=m1
self.m2=m2
def sum(self,a=None, b=None, c=None):
s=0
if a!=None and b!=None and c!=None:
s=a+b+c
elif a!=None and b!=None:
s=a+b
else:
s=a
return s
s1 = Student(66,66)
print(s1.sum(34,45,100))
#Method Overriding
class students:
pass
class emp:
def show(self):
print(("e-Name"))
class owner(students,emp):
pass
own1=owner()
own1.show()
#Abstraction
from abc import ABC, abstractmethod
class Payment(ABC):
def print_slip(self, amount):
print('Purchase of amount- ', amount)
@abstractmethod
def payment(self, amount):
pass
class CreditCardPayment(Payment):
def payment(self, amount):
print('Credit card payment of- ', amount)
class MobileWalletPayment(Payment):
def payment(self, amount):
print('Mobile wallet payment of- ', amount)
obj = CreditCardPayment()
obj.payment(100)
obj.print_slip(100)
print(isinstance(obj, Payment))
obj = MobileWalletPayment()
obj.payment(200)
obj.print_slip(200)
print(isinstance(obj, Payment))
#Encapsulation
class Base:
def __init__(self):
# Protected member
self._a = 2
class Derived(Base):
def __init__(self):
Base.__init__(self)
print("Calling protected member of base class: ")
print(self._a)
obj1 = Derived()
obj2 = Base()
#print(obj2.a)
#Private
class Car:
def __init__(self):
self.brand_name = 'Audi '
self.model = 'r8'
def __engine(self):
return '5.2 L V10'
def get_description(self):
return self.brand_name + self.model + " is the car"
c = Car()
print(c.get_description())
#print(c.__engine())
#private access
class Car:
def __init__(self):
self.brand_name = 'Audi '
self.model = 'r8'
self.__engine_name = '5.2 L V10'
def __engine(self):
return '5.2 L V10'
def get_description(self):
return self.brand_name + self.model + " is the car"
c = Car()
print(c.get_description())
print("Accessing Private Method: ", c.__engine())
print("Accessing Private variable: ", c.__engine_name)
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )