Classes & Objects in
Python
MILIND ANKLESHWAR
Python Objects and Classes
Python is an object oriented programming language.
Unlike procedure oriented programming, where the main emphasis
is on functions, object oriented programming stresses on objects.
An object is simply a collection of data (variables) and methods
(functions) that act on those data. Similarly, a class is a blueprint for
that object.
Object Oriented Programming(OOP)
Two main concepts
Class :- Collection of similar kind of objects
For eg: Building, Home, Furniture, vehicle, etc.
Objects:- Anything around you which has shape , size, properties by
which u can identify it. It can be tangible, intangible or even a
conceptual entity
For eg:, Chair, Fan, Car,Laptop,Mobile etc.
Four Features of OOP
Abstraction
Encapsulation
Polymorphism
Inheritance
Defining a Class in Python
Like function definitions begin with the def keyword in Python, class
definitions begin with a class keyword.
For eg:
Class MyClass:
◦ Body of class
Creating an Object in Python
We saw that the class object could be used to access different
attributes.
It can also be used to create new object instances (instantiation) of
that class. The procedure to create an object is similar to a function
call.
For eg:
Obj=MyClass()
Constructors in Python
Class functions that begin with double underscore __ are called special functions as they have
special meaning.
Of one particular interest is the __init__() function. This special function gets called whenever a
new object of that class is instantiated.
This type of function is also called constructors in Object Oriented Programming (OOP). We
normally use it to initialize all the variables.
Delete Object Properties & Objects
You can delete properties on objects by using the del keyword:
del p1.age
You can delete objects by using the del keyword:
del p1
The pass Statement
class definitions cannot be empty, but if you for some reason have a class definition with no
content, put in the pass statement to avoid getting an error.
class Person:
pass
Python Scope
A variable is only available from inside the region it is created. This is called scope.
Local Scope
A variable created inside a function belongs to the local scope of that function, and can only be used
inside that function.
Global Scope
A variable created in the main body of the Python code is a global variable and belongs to the global
scope.
Global variables are available from within any scope, global and local.
Local Scope
A variable created inside a function is available inside that function:
def myfunc():
x = 300
print(x)
myfunc()
Function Inside Function
The local variable can be accessed from a function within the function:
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
Global Scope
A variable created outside of a function is global and can be used by anyone:
x = 300
def myfunc():
print(x)
myfunc()
print(x)
Naming Variables
If you operate with the same variable name inside and outside of a function, Python will treat them as two separate variables, one
available in the global scope (outside the function) and one available in the local scope (inside the function):
The function will print the local x, and then the code will print the global x:
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
Global Keyword
If you need to create a global variable, but are stuck in the local scope, you can use the global keyword.
The global keyword makes the variable global.
If you use the global keyword, the variable belongs to the global scope:
def myfunc():
global x
x = 300
myfunc()
print(x)
Also, use the global keyword if you want to make a change to a global variable inside a function.
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)