[go: up one dir, main page]

0% found this document useful (0 votes)
2 views20 pages

Python Lecture 14-Object Oriented Programming

The document provides an overview of Object-Oriented Programming in Python, explaining the concept of objects, classes, and methods. It details how objects encapsulate data and behavior, how to define classes and create instances, and includes examples such as a list and a fraction class. The document also discusses methods for manipulating objects and performing operations on them.

Uploaded by

Abhishek Goutam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views20 pages

Python Lecture 14-Object Oriented Programming

The document provides an overview of Object-Oriented Programming in Python, explaining the concept of objects, classes, and methods. It details how objects encapsulate data and behavior, how to define classes and create instances, and includes examples such as a list and a fraction class. The document also discusses methods for manipulating objects and performing operations on them.

Uploaded by

Abhishek Goutam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Python: Object Oriented

Programming - 1
Objects
• Python supports different type of data
– 125 (int), 24.04 (float), “Hello” (string)
– [3,7,8,10] (list)
– {“India”:”New Delhi”, “Japan”:”Tokyo”}
• Each of above is an object
• Every object has a type, internal data
representation and procedures for
interaction.
• An object is an instance
– 125 is an instance of int, Hello is an instance of
string
Objects
• In Pyhton everything is an object
• Can create an object
• Can manipulate objects
• Can destroy objects
explicitly using del or just “forget” about them python
system will reclaim destroyed or inaccessible objects
–called “garbage collection”
Objects

• objects are a data abstraction that capture:


(1) an internal representation
- through data attributes
(2) an interface for interacting with object
- through methods (procedures/functions)
- defines behaviors but hides implementation
Example: List

• lists are internally represented as linked list


• [1,2,3,4]:

internal representation should be private


• manipulation of lists
– L[i], L[i:j], +
– len(), min(), max(), del(L[i])
– L.append(), L.extend(), L.remove(), L.reverse()…
Classes

• Classes make it easy to reuse code


• There is a distinction between creating a
class and using an instance of the class
• creating the class involves
defining the class name
defining class attributes
for example, someone wrote code to
implement a list class
Classes
Classes

• defining a class involves


class Coordinate (object):

definition name of parent


of class class class

# define attributes here


• use a special method __init__ to initialize
some data attributes
Classes

• defining a class involves


class Coordinate (object):
def __init__(self, x, y):
self.x = x
self.y = y
• creating an instance
– c = Coordinate(3,4)
– origin=Coordinate(0,0)
Classes: Methods
Classes: Methods
Classes: Methods

Equivalent
Classes: Methods

• defining your own print method


class Coordinate (object):
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return “<“+str(self.x)+”,”+str(self.y)+”>”

c=Coordinate(3,4)
print(c) à <3,4>
Example: Fraction
Example: Fraction

• fraction (rational number)


class Fraction (object):
def __init__(self, n, d):
self.num = n
self.denom = d
def __str__(self):
return str(self.num)+”/”+str(self.denom)
Example: Fraction

• fraction (rational number)


add two rational numbers:
def __add__(self, other):
num = self.num*other.denom +
self.denom*other.num
denom = self.denom*other.denom
return Fraction(num, denom)
Example: Fraction

• fraction (rational number)


subtract two rational numbers:
def __subtract__(self, other):
num = self.num*other.denom -
self.denom*other.num
denom = self.denom*other.denom
return Fraction(num, denom)
Example: Fraction

• fraction (rational number)


multiply two rational numbers:
def multiply(self, other):
num = self.num*other.num
denom = self.denom*other.denom
return Fraction(num, denom)
Example: Fraction

• fraction (rational number)


divide two rational numbers:
def divide(self, other):
num = self.num*other.denom
denom = self.denom*other.num
return Fraction(num, denom)
Example: Fraction

• fraction (rational number)


def __float__(self):
return self.num/self.denom
def inverse(self):
return self.denom/self.num
def reduce(self):
….

You might also like