Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
Constructors and destructors
Nilesh Dalvi
Object oriented programming
Sandeep Kumar Singh
Oop concepts in python
baabtra.com - No. 1 supplier of quality freshers
Object oriented programming with python
Arslan Arshad
Templates in C++
Adil Aslam
Python-DataAbstarction.pptx
Karudaiyar Ganapathy
Object oriented approach in python programming
Srinivas Narasegouda
Generic Programming
Muhammad Alhalaby
1
of
27
Top clipped slide
Python Programming Essentials - M20 - Classes and Objects
Aug. 19, 2014
•
0 likes
5 likes
×
Be the first to like this
Show More
•
2,290 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Report
Slides from the training on the topic "Python Programming Essentials"
P3 InfoTech Solutions Pvt. Ltd.
Follow
P3 InfoTech Solutions Pvt. Ltd.
Advertisement
Advertisement
Advertisement
Recommended
Python unit 3 m.sc cs
KALAISELVI P
263 views
•
46 slides
Python Programming - VI. Classes and Objects
Ranel Padon
5.3K views
•
83 slides
Object oriented programming in python
baabtra.com - No. 1 supplier of quality freshers
1.2K views
•
23 slides
Python Class | Python Programming | Python Tutorial | Edureka
Edureka!
944 views
•
8 slides
Inheritance in C++
Adil Aslam
32.1K views
•
242 slides
Python programming : Inheritance and polymorphism
Emertxe Information Technologies Pvt Ltd
1.9K views
•
43 slides
More Related Content
Slideshows for you
(20)
Constructors and destructors
Nilesh Dalvi
•
6.1K views
Object oriented programming
Sandeep Kumar Singh
•
3K views
Oop concepts in python
baabtra.com - No. 1 supplier of quality freshers
•
5.8K views
Object oriented programming with python
Arslan Arshad
•
3.8K views
Templates in C++
Adil Aslam
•
15.8K views
Python-DataAbstarction.pptx
Karudaiyar Ganapathy
•
95 views
Object oriented approach in python programming
Srinivas Narasegouda
•
584 views
Generic Programming
Muhammad Alhalaby
•
3.5K views
Avoid Overfitting with Regularization
Ahmed Gad
•
645 views
Advance OOP concepts in Python
Sujith Kumar
•
19.3K views
String handling(string class)
Ravi_Kant_Sahu
•
3K views
oop Lecture 10
Anwar Ul Haq
•
699 views
Ppt on Linked list,stack,queue
Srajan Shukla
•
5.8K views
Inheritance in oops
Hirra Sultan
•
8.2K views
Python OOPs
Binay Kumar Ray
•
1K views
friend function(c++)
Ritika Sharma
•
16.7K views
Python: Basic Inheritance
Damian T. Gordon
•
2.4K views
Fundamentals of OOP (Object Oriented Programming)
MD Sulaiman
•
2.6K views
Wrapper class
kamal kotecha
•
11.6K views
Polymorphism in C# Function overloading in C#
Abid Kohistani
•
93 views
Viewers also liked
(20)
Python Objects
Quintagroup
•
2.3K views
Object Oriented Programming with Real World Examples
OXUS 20
•
31.3K views
Decorators in Python
Ben James
•
1.7K views
Object oriented programming Fundamental Concepts
Bharat Kalia
•
1.9K views
Creating Objects in Python
Damian T. Gordon
•
1.8K views
03 object-classes-pbl-4-slots
mha4
•
351 views
Classes & object
Daman Toor
•
854 views
PythonOOP
Veera Pendyala
•
886 views
Metaclass Programming in Python
Juan-Manuel Gimeno
•
2.7K views
Python Programming Essentials - M19 - Namespaces, Global Variables and Docstr...
P3 InfoTech Solutions Pvt. Ltd.
•
2K views
Introduction To Programming with Python
Sushant Mane
•
1.5K views
Boost your django admin with Grappelli
Andy Dai
•
2.6K views
Visualizing Relationships between Python objects - EuroPython 2008
Dinu Gherman
•
1.1K views
HT16 - DA361A - OOP med Python
Anton Tibblin
•
483 views
Python avancé : Classe et objet
ECAM Brussels Engineering School
•
2.5K views
Data Structure: Algorithm and analysis
Dr. Rajdeep Chatterjee
•
4.3K views
Python Programming Essentials - M8 - String Methods
P3 InfoTech Solutions Pvt. Ltd.
•
1.7K views
CLTL python course: Object Oriented Programming (1/3)
Rubén Izquierdo Beviá
•
2.1K views
Python Programming Essentials - M1 - Course Introduction
P3 InfoTech Solutions Pvt. Ltd.
•
1.1K views
Couch db@nosql+taiwan
Kenzou Yeh
•
1.8K views
Advertisement
Similar to Python Programming Essentials - M20 - Classes and Objects
(20)
C#2
Sudhriti Gupta
•
80 views
Inheritance.ppt
KevinNicolaNatanael
•
2 views
Python-oop
RTS Tech
•
43 views
Python programming : Classes objects
Emertxe Information Technologies Pvt Ltd
•
2.2K views
Learning C++ - Class 4
Ali Aminian
•
437 views
PHP - Introduction to Object Oriented Programming with PHP
Vibrant Technologies & Computers
•
2.6K views
جلسه هفتم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲
Mohammad Reza Kamalifard
•
522 views
Python advance
Mukul Kirti Verma
•
100 views
Advanced Python, Part 1
Zaar Hai
•
760 views
Intro to iOS Development • Made by Many
kenatmxm
•
855 views
Basic_concepts_of_OOPS_in_Python.pptx
santoshkumar811204
•
11 views
Introduction to c_plus_plus (6)
Sayed Ahmed
•
40 views
Introduction to c_plus_plus
Sayed Ahmed
•
92 views
Java Reflection Concept and Working
Software Productivity Strategists, Inc
•
696 views
Chap 3 Python Object Oriented Programming - Copy.ppt
muneshwarbisen1
•
8 views
Python – Object Oriented Programming
Raghunath A
•
366 views
.NET F# Class constructor
DrRajeshreeKhande
•
84 views
Oop objects_classes
sidra tauseef
•
1.1K views
Inheritance_abstractclass_interface.pdf
kshitijsaini9
•
3 views
اسلاید جلسه ۹ کلاس پایتون برای هکر های قانونی
Mohammad Reza Kamalifard
•
677 views
More from P3 InfoTech Solutions Pvt. Ltd.
(20)
Python Programming Essentials - M44 - Overview of Web Development
P3 InfoTech Solutions Pvt. Ltd.
•
1.8K views
Python Programming Essentials - M40 - Invoking External Programs
P3 InfoTech Solutions Pvt. Ltd.
•
555 views
Python Programming Essentials - M39 - Unit Testing
P3 InfoTech Solutions Pvt. Ltd.
•
1.3K views
Python Programming Essentials - M37 - Brief Overview of Misc Concepts
P3 InfoTech Solutions Pvt. Ltd.
•
833 views
Python Programming Essentials - M35 - Iterators & Generators
P3 InfoTech Solutions Pvt. Ltd.
•
993 views
Python Programming Essentials - M34 - List Comprehensions
P3 InfoTech Solutions Pvt. Ltd.
•
760 views
Python Programming Essentials - M31 - PEP 8
P3 InfoTech Solutions Pvt. Ltd.
•
2.1K views
Python Programming Essentials - M29 - Python Interpreter and Files
P3 InfoTech Solutions Pvt. Ltd.
•
1.2K views
Python Programming Essentials - M28 - Debugging with pdb
P3 InfoTech Solutions Pvt. Ltd.
•
811 views
Python Programming Essentials - M27 - Logging module
P3 InfoTech Solutions Pvt. Ltd.
•
1.1K views
Python Programming Essentials - M25 - os and sys modules
P3 InfoTech Solutions Pvt. Ltd.
•
2.8K views
Python Programming Essentials - M24 - math module
P3 InfoTech Solutions Pvt. Ltd.
•
2.6K views
Python Programming Essentials - M23 - datetime module
P3 InfoTech Solutions Pvt. Ltd.
•
1.4K views
Python Programming Essentials - M22 - File Operations
P3 InfoTech Solutions Pvt. Ltd.
•
1.5K views
Python Programming Essentials - M21 - Exception Handling
P3 InfoTech Solutions Pvt. Ltd.
•
2.1K views
Python Programming Essentials - M18 - Modules and Packages
P3 InfoTech Solutions Pvt. Ltd.
•
1.9K views
Python Programming Essentials - M17 - Functions
P3 InfoTech Solutions Pvt. Ltd.
•
1.7K views
Python Programming Essentials - M16 - Control Flow Statements and Loops
P3 InfoTech Solutions Pvt. Ltd.
•
2.8K views
Python Programming Essentials - M15 - References
P3 InfoTech Solutions Pvt. Ltd.
•
336 views
Python Programming Essentials - M14 - Dictionaries
P3 InfoTech Solutions Pvt. Ltd.
•
1.1K views
Advertisement
Python Programming Essentials - M20 - Classes and Objects
http://www.skillbrew.com /Skillbrew Talent brewed by
the industry itself Classes and Objects Pavan Verma @YinYangPavan Founder, P3 InfoTech Solutions Pvt. Ltd. 1 Python Programming Essentials
© SkillBrew http://skillbrew.com Contents
Defining a class Class attributes Class methods Class instances __init__ method self keyword Accessing attributes and methods Deleting attributes Types of attributes Inheritance Method overriding Calling parent functions 2
© SkillBrew http://skillbrew.com Defining
a class A class is a special data type which defines how to build a certain kind of object class className(): # statements Use the class keyword to define a class 3
© SkillBrew http://skillbrew.com Defining
a class class Calculator(): counter = 0 def __init__(self): pass def add(self): pass class keyword to define a class A class definition creates a class object from which class instances may be created 4
© SkillBrew http://skillbrew.com Class
Attributes class Calculator(): counter = 0 def __init__(self): pass def add(self): pass class attributes are just like variables 5
© SkillBrew http://skillbrew.com Class
Methods class Calculator(): counter = 0 def __init__(self): pass def add(self): pass class methods are functions invoked on an instance of the class 6
© SkillBrew http://skillbrew.com Class
Instances calc = Calculator() • In order to you use it we create an instance of class • Instances are objects created that use the class definition Just call the class definition like a function to create a class instance 7
© SkillBrew http://skillbrew.com __init__
method • __init__ method is like an initialization constructor • When a class defines an __init__ () method, class instantiation automatically invokes __init__() method for the newly created class instance 8
© SkillBrew http://skillbrew.com __init__
method (2) class Calculator(): counter = 0 def __init__(self, x=0, y=0): self.x = x self.y = y def add(self): pass calc = Calculator(10, 20) print calc.x print calc.y Output: 10 20 9
© SkillBrew http://skillbrew.com self
keyword • The first argument of every method is a reference to the current instance of the class • By convention, we name this argument self • In __init__, self refers to the object currently being created • In other class methods, it refers to the instance whose method was called • Similar to the keyword this in Java or C++ 10
© SkillBrew http://skillbrew.com Accessing
attributes and methods Use the dot operator to access class attributes and methods calc = Calculator(10, 20) print calc.x print calc.y print calc.counter Output: 10 20 0 11
© SkillBrew http://skillbrew.com Accessing
attributes and methods (2) class Calculator(): counter = 0 def __init__(self, x=0, y=0): self.x = x self.y = y def add(self): return self.x + self.y calc = Calculator(10, 20) print calc.add() • Although you must specify self explicitly when defining the method, you don’t include it when calling the method • Python passes it for you automatically 12
© SkillBrew http://skillbrew.com Deleting
Instances • When you are done with an object , you don’t have to delete or free it explicitly • Python has automatic garbage collection • Python will automatically detect when all references to a piece of memory have gone out of scope. Automatically frees the memory. • Garbage collection works well, hence fewer memory leaks • There’s also no “destructor” method for classes. 13
© SkillBrew http://skillbrew.com Attributes 14
© SkillBrew http://skillbrew.com Two
kinds of Attributes 1. class attributes 2. data attributes 15
© SkillBrew http://skillbrew.com Data
attributes class Calculator(): counter = 0 def __init__(self, x=0, y=0): self.x = x self.y = y def add(self): return self.x + self.y calc = Calculator(10, 20) print calc.x # 10 print calc.y # 20 calc2 = Calculator(15, 35) print calc2.x # 15 print calc2.y # 35 • Data attributes are variables owned by a particular instance • Each instance has its own value for data attributes 16
© SkillBrew http://skillbrew.com Data
attributes (2) class Calculator(): counter = 0 def __init__(self, x=0, y=0): self.x = x self.y = y calc = Calculator(10, 20) calc.z = calc.x + calc.y print calc.z print calc.__dict__ Output: 30 {'y': 20, 'x': 10, 'z': 30} 17 • In Python classes you don’t have a restriction of declaring all data attributes before hand, you can create data attributes at runtime anywhere • calc.z is an attribute which is defined at runtime outside the class definition
© SkillBrew http://skillbrew.com Class
attributes class Calculator(): counter = 0 def __init__(self, x=0, y=0): self.x = x self.y = y def add(self): self.__class__.counter += 1 return self.x + self.y calc = Calculator(10, 20) print calc.add() print calc.counter # 1 calc2 = Calculator(30, 40) print calc2.add() print calc2.counter # 2 • Access the class attribute using self.__class__.count er • Class attributes are shared among all instances 18
© SkillBrew http://skillbrew.com Class
attributes (2) Class attributes are defined within a class definition and outside of any method Because all instances of a class share one copy of a class attribute, when any instance changes it, the value is changed for all instances self.__class__.attribute_name 19
© SkillBrew http://skillbrew.com Data
attributes Variable owned by a particular instance Each instance has its own value for it These are the most common kind of attribute Class attributes Owned by the class as a whole All class instances share the same value for it Good for • Class-wide constants • Building counter of how many instances of the class have been made Data attributes vs Class attributes 20
© SkillBrew http://skillbrew.com Inheritance 21
© SkillBrew http://skillbrew.com Inheritance class
Shape(object): def name(self, shape): print "Shape: %s" % shape class Square(Shape): def area(self, side): return side**2 Shape is the parent class Square is the child class inherits Shape class Parent(object): pass class Child(Parent): pass 22
© SkillBrew http://skillbrew.com Inheritance
(2) class Shape(object): def name(self, shape): print "Shape: %s" % shape class Square(Shape): def area(self, side): return side**2 s = Square() s.name("square") print s.area(2) Output: Shape: square 4 Child class Square has access to Parent classes methods and attributes 23
© SkillBrew http://skillbrew.com Method
overriding class Shape(object): def name(self, shape): print "Shape: %s" % shape class Square(Shape): def name(self, shape): print "Child class Shape %s" % shape def area(self, side): return side**2 s = Square() s.name("square") print s.area(2) Output: Child class Shape square 4 24
© SkillBrew http://skillbrew.com Calling
the parent method class Shape(object): def name(self, shape): print "Shape: %s" % shape class Square(Shape): def name(self, shape): super(Square, self).name(shape) print "Child class Shape %s" % shape def area(self, side): return side**2 s = Square() s.name("square") Use super keyword to call parent class method super(ChildClass, self).method(args) 25
© SkillBrew http://skillbrew.com Class
& Static Methods class Calculator(object): counter = 0 def __init__(self, x=0, y=0): ... def add(self): ... @classmethod def update_counter(cls): cls.counter += 1 @staticmethod def show_help(): print 'This calculator can add' 26
© SkillBrew http://skillbrew.com Resources
http://www.diveintopython.net/object_o riented_framework/defining_classes.html http://docs.python.org/2/tutorial/classes .html http://docs.python.org/2/library/function s.html#super 27
Advertisement