Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
40 views

Class Python

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

Class Python

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

Local Variables:

# python-local-variable.py

def function_local(a):

print('a is -> ',a)

a = 50

print('After new value within the function a is -> ',a)

a = 100

function_local(40)

print('Value of a is ->',a)
Output:
a is -> 40
After new value within the function a is -> 50
Value of a is -> 100

global statement:
# python-global-variable.py

def function_local():

global a

print('a is -> ',a)

a = 50

print('After new value within the function a is -> ',a)

a = 100

function_local()

print('Value of a is ->',a)

Copy

Output:
a is -> 100
After new value within the function a is -> 50
Value of a is -> 50
.
def outside():

a = 10

def inside():

a = 20

print("Inside a ->", a)

inside()

print("outside a->", a)

outside()

def outside():

a = 10

def inside():

nonlocal a

a = 20

print("The value of a in inside() function - ", a)

inside()

print("The value of a in outside() function - ", a)

outside()
Defining a class:

In object oriented programming classes and objects are the


main features. A class creates a new data type and objects are
instances of a class which follows the definition given inside
the class. Here is a simple form of class definition.

class Student:
Statement-1
Statement-1
....
....
....
Statement-n
A class definition started with the keyword 'class' followed by
the name of the class and a colon.

The statements within a class definition may be function


definitions, data members or other statements.

When a class definition is entered, a new namespace is


created, and used as the local scope.

Creating a Class:

Here we create a simple class using class keyword followed


by the class name (Student) which follows an indented block
of segments (student class, roll no., name).
#studentdetails.py

class Student:

stu_class = 'V'

stu_roll_no = 12

stu_name = "David"

Class Objects:

There are two kind of operations class objects supports :


attribute references and instantiation. Attribute references use
the standard syntax, obj.name for all attribute references in
Python. Therefore if the class definition (add a method in
previous example) look like this
#studentdetails1.py

class Student:

"""A simple example class"""

stu_class = 'V'

stu_roll_no = 12

stu_name = "David"

def messg(self):

return 'New Session will start soon.'


__doc__ is also a valid attribute which returns the docstring of
the class.

__init__ method:
#studentdetailsinit.py

class Student:

"""A simple example class"""

def __init__(self, sclass, sroll, sname):

self.c = sclass

self.r = sroll

self.n = sname

def messg(self):

return 'New Session will start soon.'


Inheritance:
class DerivedClassName(BaseClassName):

Statement-1
Statement-1
....
....
....
Statement-n
class DerivedClassName(BaseClassName1, BaseClassName2,
BaseClassName3):
Statement-1
Statement-1
....
....
....
Statement-n

Example:

In a company Factory, staff and Office staff have certain


common properties - all have a name, designation, age etc.
Thus they can be grouped under a class called
CompanyMember. Apart from sharing those common features,
each subclass has its own characteristic - FactoryStaff gets
overtime allowance while OfficeStaff gets traveling allowance
for an office job. The derived classes ( FactoryStaff &
OfficeStaff) has its own characteristic and, in addition, they
inherit the properties of the base class (CompanyMember). See
the example code.
# python-inheritance.py

class CompanyMember:

'''Represents Company Member.'''

def __init__(self, name, designation, age):

self.name = name

self.designation = designation

self.age = age

def tell(self):

'''Details of an employee.'''
print('Name: ', self.name,'\nDesignation : ',self.designation, '\
nAge : ',self.age)

class FactoryStaff(CompanyMember):

'''Represents a Factory Staff.'''

def __init__(self, name, designation, age, overtime_allow):

CompanyMember.__init__(self, name, designation, age)

self.overtime_allow = overtime_allow

CompanyMember.tell(self)

print('Overtime Allowance : ',self.overtime_allow)

class OfficeStaff(CompanyMember):

'''Represents a Office Staff.'''

def __init__(self, name, designation, age, travelling_allow):

CompanyMember.__init__(self, name, designation, age)

self.marks = travelling_allow

CompanyMember.tell(self)

print('Traveling Allowance : ',self.travelling_allow)

Now execute the class in Python Shell and see the output.
Encapsulation
class Computer:

def __init__(self):

self.__maxprice = 900

def sell(self):

print("Selling Price: {}".format(self.__maxprice))

def setMaxPrice(self, price):

self.__maxprice = price

c = Computer()
c.sell()

# change the price

c.__maxprice = 1000

c.sell()

# using setter function

c.setMaxPrice(1000)

c.sell()

output :

Selling Price: 900

Selling Price: 900

Selling Price: 1000

Polymorphism

Method overloading example


class Human:

def sayHello(self, name=None):

if name is not None:


print 'Hello ' + name
else:
print 'Hello '

# Create instance
obj = Human()
# Call the method
obj.sayHello()

# Call the method with a parameter


obj.sayHello('Guido')

Output:

Hello
Hello Guido

Method Overriding

class Rectangle():

def __init__(self,length,breadth):

self.length = length

self.breadth = breadth

def getArea(self):

print(self.length*self.breadth," is area of rectangle")

class Square(Rectangle):

def __init__(self,side):

self.side = side

Rectangle.__init__(self,side,side)

def getArea(self):

print(self.side*self.side," is area of square")

s = Square(4)

r = Rectangle(2,4)

s.getArea()

r.getArea()

output :

16 is area of square
8 is area of rectangle

You might also like