SlideShare a Scribd company logo
Classes And Objects
Team Emertxe
Creation of Class
Creation of Class
General Format

Class is a model or plan to create the objects

Class contains,

Attributes: Represented by variables

Actions : Performed on methods

Syntax of defining the class,
Syntax Example
class Classname(object):
"""docstrings"""
Attributes
def __init__(self):
def method1():
def method2():
class Student:
"""The below block defines attributes"""
def __init__(self):
self.name = "Ram"
self.age = 21
self.marks = 89.75
"""The below block defines a method"""
def putdata(self):
print("Name: ", self.name)
print("Age: ", self.age)
print("Marks: ", self.marks)
Creation of Class
Program
#To define the Student calss and create an Object to it.
#Class Definition
class Student:
#Special method called constructor
def __init__(self):
self.name = "Ram"
self.age = 21
self.marks = 75.90
#This is an instance method
def putdata(self):
print("Name: ", self.name)
print("Age: ", self.age)
print("Marks: ", self.marks)
#Create an instance to the student class
s = Student()
#Call the method using an Object
s.putdata()
The Self Variable
The Self Variable

‘Self’ is the default variable that contains the memory address of the instance of the
current class
s1 = Student()  s1 contains the memory address of the instance
 This memory address is internally and by default passed to
‘self’ variable
Usage-1:
def __init__(self):
 The ‘self’ variable is used as first parameter in the
constructor
Usage-2:
def putdata(self):
 The ‘self’ variable is used as first parameter in the
instance methods
Constructor
Constructor
Constructor with NO parameter

Constructors are used to create and initialize the 'Instance Variables'

Constructor will be called only once i.e at the time of creating the objects

s = Student()
Example def __init__(self):
self.name = "Ram"
self.marks = 99
Constructor
Constructor with parameter
Example def __init__(self, n = "", m = 0):
self.name = n
self.marks = m
Instance-1 s = Student()
Will initialize the instance variables with default parameters
Instance-2 s = Student("Ram", 99)
Will initialize the instance variables with parameters passed
Constructor
Program
#To create Student class with a constructor having more than one parameter
class Student:
#Constructor definition
def __init__(self, n = "", m = 0):
self.name = n
self.marks = m
#Instance method
def putdata(self):
print("Name: ", self.name)
print("Marks: ", self.marks)
#Constructor called without any parameters
s = Student()
s.putdata()
#Constructor called with parameters
s = Student("Ram", 99)
s.putdata()
Types of Variables
Types Of Variables

Instance variables

Class / Static variables
Types Of Variables
Instance Variables

Variables whose separate copy is created for every instance/object

These are defined and init using the constructor with 'self' parameter

Accessing the instance variables from outside the class,

instancename.variable
class Sample:
def __init__(self):
self.x = 10
def modify(self):
self.x += 1
#Create an objects
s1 = Sample()
s2 = Sample()
print("s1.x: ", s1.x)
print("s2.x: ", s2.x)
s1.modify()
print("s1.x: ", s1.x)
print("s2.x: ", s2.x)
Types Of Variables
Class Variables

Single copy is created for all instances

Accessing class vars are possible only by 'class methods'

Accessing class vars from outside the class,

classname.variable
class Sample:
#Define class var here
x = 10
@classmethod
def modify(cls):
cls.x += 1
#Create an objects
s1 = Sample()
s2 = Sample()
print("s1.x: ", s1.x)
print("s2.x: ", s2.x)
s1.modify()
print("s1.x: ", s1.x)
print("s2.x: ", s2.x)
Namespaces
Namespaces
Introduction

Namespace represents the memory block where names are mapped/linked to objects

Types:

Class namespace

- The names are mapped to class variables

Instance namespace

- The names are mapped to instance variables
Namespaces
Class Namespace
#To understand class namespace
#Create the class
class Student:
#Create class var
n = 10
#Access class var in class namespace
print(Student.n)
#Modify in class namespace
Student.n += 1
#Access class var in class namespace
print(Student.n)
#Access class var in all instances
s1 = Student()
s2 = Student()
#Access class var in instance namespace
print("s1.n: ", s1.n)
print("s2.n: ", s2.n)
10n
Class Namespace
10n 10n
Instance NamespaceInstance Namespace
11n
Class Namespace
11n 11n
Instance NamespaceInstance Namespace
Before modifyng class variable ‘n’
After modifyng class variable ‘n’
If class vars are modified in class namespace, then it reflects to all instances
Namespaces
Instance Namespace
#To understand class namespace
#Create the class
class Student:
#Create class var
n = 10
s1 = Student()
s2 = Student()
#Modify the class var in instance namespace
s1.n += 1
#Access class var in instance namespace
print("s1.n: ", s1.n)
print("s2.n: ", s2.n)
10n
Class Namespace
10n 10n
Instance NamespaceInstance Namespace
10n
Class Namespace
11n 10n
Instance NamespaceInstance Namespace
Before modifyng class variable ‘n’
After modifyng class variable ‘n’
If class vars are modified in instance namespace, then it reflects only to
that instance
Types of Methods
Types of Methods

Types:

Instance Methods

- Accessor

- Mutator

Class Methods

Static Methods
Types of Methods
Instance Methods
●
Acts upon the instance variables of that class
●
Invoked by instance_name.method_name()
#To understanf the instance methods
class Student:
#Constructor definition
def __init__(self, n = "", m = 0):
self.name = n
self.marks = m
#Instance method
def putdata(self):
print("Name: ", self.name)
print("Marks: ", self.marks)
#Constructor called without any parameters
s = Student()
s.putdata()
#Constructor called with parameters
s = Student("Ram", 99)
s.putdata()
Types of Methods
Instance Methods: Accessor + Mutator
#To understand accessor and mutator
#Create the class
class Student:
#Define mutator
def setName(self, name):
self.name = name
#Define accessor
def getName(self):
return self.name
#Create an objects
s = Student()
#Set the name
s.setName("Ram")
#Print the name
print("Name: ", s.getName())
Accessor Mutator
● Methods just reads the instance variables,
will not modify it
● Generally written in the form: getXXXX()
● Also called getter methods
● Not only reads the data but also modifies
it
● Generally wriiten in the form: setXXXX()
● Also called setter methods
Types of Methods
Class Methods
#To understand the class methods
class Bird:
#Define the class var here
wings = 2
#Define the class method
@classmethod
def fly(cls, name):
print("{} flies with {} wings" . format(name, cls.wings))
#Call
Bird.fly("Sparrow")
Bird.fly("Pigeon")
● This methods acts on class level
● Acts on class variables only
● Written using @classmethod decorator
● First param is 'cls', followed by any params
● Accessed by classname.method()
Types of Methods
Static Methods
#To Understand static method
class Sample:
#Define class vars
n = 0
#Define the constructor
def __init__(self):
Sample.n = Sample.n + 1
#Define the static method
@staticmethod
def putdata():
print("No. of instances created: ", Sample.n)
#Create 3 objects
s1 = Sample()
s2 = Sample()
s3 = Sample()
#Class static method
Sample.putdata()
● Needed, when the processing is at the class level but we need not involve the class or
instances
● Examples:
- Setting the environmental variables
- Counting the number of instances of the class
● Static methods are written using the decorator @staticmethod
● Static methods are called in the form classname.method()
Passing Members
Passing Members
● It is possible to pass the members(attributes / methods) of one class to another
● Example:
e = Emp()
● After creating the instance, pass this to another class 'Myclass'
● Myclass.mymethod(e)
- mymethod is static
Passing Members
Example
#To understand how members of one class can be passed to another
#Define the class
class Emp:
def __init__(self, name, salary):
self.name = name
self.salary = salary
def putdata(self):
print("Name: ", self.name)
print("Salary: ", self.salary)
#Create Object
e = Emp("Ram", 20000)
#Call static method of Myclass and pass e
Myclass.mymethod(e)
#Define another class
class Myclass:
@staticmethod
def mymethod(e):
e.salary += 1000
e.putdata()
Passing Members
Exercise
1. To calculate the power value of a number with the help of a static method
Inner Class
Inner Class
Introduction
● Creating class B inside Class A is called nested class or Inner class
● Example:
Person's Data like,
- Name: Single value
- Age: Single Value
- DoB: Multiple values, hence separate class is needed
Inner Class
Program: Version-1
#To understand inner class
class Person:
def __init__(self):
self.name = "Ram"
self.db = self.Dob()
def display(self):
print("Name: ", self.name)
#Define an inner class
class Dob:
def __init__(self):
self.dd = 10
self.mm = 2
self.yy = 2002
def display(self):
print("DoB: {}/{}/{}" . format(self.dd,
self.mm, self.yy))
#Creating Object
p = Person()
p.display()
#Create inner class object
i = p.db
i.display()
Inner Class
Program: Version-2
#To understand inner class
class Person:
def __init__(self):
self.name = "Ram"
self.db = self.Dob()
def display(self):
print("Name: ", self.name)
#Define an inner class
class Dob:
def __init__(self):
self.dd = 10
self.mm = 2
self.yy = 2002
def display(self):
print("DoB: {}/{}/{}" . format(self.dd,
self.mm, self.yy))
#Creating Object
p = Person()
p.display()
#Create inner class object
i = Person().Dob()
i.display()
THANK YOU

More Related Content

What's hot (20)

Python OOPs
Python OOPsPython OOPs
Python OOPs
Binay Kumar Ray
 
Python: Modules and Packages
Python: Modules and PackagesPython: Modules and Packages
Python: Modules and Packages
Damian T. Gordon
 
Python Pandas
Python PandasPython Pandas
Python Pandas
Sunil OS
 
Object oriented programming in python
Object oriented programming in pythonObject oriented programming in python
Object oriented programming in python
baabtra.com - No. 1 supplier of quality freshers
 
Python libraries
Python librariesPython libraries
Python libraries
Prof. Dr. K. Adisesha
 
JAVA AWT
JAVA AWTJAVA AWT
JAVA AWT
shanmuga rajan
 
Introduction to Python
Introduction to Python  Introduction to Python
Introduction to Python
Mohammed Sikander
 
Chapter 07 inheritance
Chapter 07 inheritanceChapter 07 inheritance
Chapter 07 inheritance
Praveen M Jigajinni
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)
Michelle Anne Meralpis
 
Functions in python
Functions in pythonFunctions in python
Functions in python
colorsof
 
Datatypes in python
Datatypes in pythonDatatypes in python
Datatypes in python
eShikshak
 
NUMPY
NUMPY NUMPY
NUMPY
Global Academy of Technology
 
Applets in java
Applets in javaApplets in java
Applets in java
Wani Zahoor
 
Python ppt
Python pptPython ppt
Python ppt
Mohita Pandey
 
File Handling Python
File Handling PythonFile Handling Python
File Handling Python
Akhil Kaushik
 
Python-Encapsulation.pptx
Python-Encapsulation.pptxPython-Encapsulation.pptx
Python-Encapsulation.pptx
Karudaiyar Ganapathy
 
Oop concepts in python
Oop concepts in pythonOop concepts in python
Oop concepts in python
baabtra.com - No. 1 supplier of quality freshers
 
Packages in java
Packages in javaPackages in java
Packages in java
Elizabeth alexander
 
File handling in c++
File handling in c++File handling in c++
File handling in c++
baabtra.com - No. 1 supplier of quality freshers
 
Data Structures in Python
Data Structures in PythonData Structures in Python
Data Structures in Python
Devashish Kumar
 

Similar to Python programming : Classes objects (20)

Python_Unit_3.pdf
Python_Unit_3.pdfPython_Unit_3.pdf
Python_Unit_3.pdf
alaparthi
 
Regex,functions, inheritance,class, attribute,overloding
Regex,functions, inheritance,class, attribute,overlodingRegex,functions, inheritance,class, attribute,overloding
Regex,functions, inheritance,class, attribute,overloding
sangumanikesh
 
Unit – V Object Oriented Programming in Python.pptx
Unit – V Object Oriented Programming in Python.pptxUnit – V Object Oriented Programming in Python.pptx
Unit – V Object Oriented Programming in Python.pptx
YugandharaNalavade
 
Module-5-Classes and Objects for Python Programming.pptx
Module-5-Classes and Objects for Python Programming.pptxModule-5-Classes and Objects for Python Programming.pptx
Module-5-Classes and Objects for Python Programming.pptx
YogeshKumarKJMIT
 
Basic_concepts_of_OOPS_in_Python.pptx
Basic_concepts_of_OOPS_in_Python.pptxBasic_concepts_of_OOPS_in_Python.pptx
Basic_concepts_of_OOPS_in_Python.pptx
santoshkumar811204
 
Introduction to Python - Part Three
Introduction to Python - Part ThreeIntroduction to Python - Part Three
Introduction to Python - Part Three
amiable_indian
 
Anton Kasyanov, Introduction to Python, Lecture5
Anton Kasyanov, Introduction to Python, Lecture5Anton Kasyanov, Introduction to Python, Lecture5
Anton Kasyanov, Introduction to Python, Lecture5
Anton Kasyanov
 
what is class in C++ and classes_objects.ppt
what is class in C++ and classes_objects.pptwhat is class in C++ and classes_objects.ppt
what is class in C++ and classes_objects.ppt
malikliyaqathusain
 
2_Classes.pptxjdhfhdfohfshfklsfskkfsdklsdk
2_Classes.pptxjdhfhdfohfshfklsfskkfsdklsdk2_Classes.pptxjdhfhdfohfshfklsfskkfsdklsdk
2_Classes.pptxjdhfhdfohfshfklsfskkfsdklsdk
thuy27042005thieu
 
Object_Oriented_Programming_Unit3.pdf
Object_Oriented_Programming_Unit3.pdfObject_Oriented_Programming_Unit3.pdf
Object_Oriented_Programming_Unit3.pdf
Koteswari Kasireddy
 
Chap 3 Python Object Oriented Programming - Copy.ppt
Chap 3 Python Object Oriented Programming - Copy.pptChap 3 Python Object Oriented Programming - Copy.ppt
Chap 3 Python Object Oriented Programming - Copy.ppt
muneshwarbisen1
 
OOPS-PYTHON.pptx OOPS IN PYTHON APPLIED PROGRAMMING
OOPS-PYTHON.pptx    OOPS IN PYTHON APPLIED PROGRAMMINGOOPS-PYTHON.pptx    OOPS IN PYTHON APPLIED PROGRAMMING
OOPS-PYTHON.pptx OOPS IN PYTHON APPLIED PROGRAMMING
NagarathnaRajur2
 
07slide.ppt
07slide.ppt07slide.ppt
07slide.ppt
NuurAxmed2
 
Lecture topic - Python class lecture.ppt
Lecture topic - Python class lecture.pptLecture topic - Python class lecture.ppt
Lecture topic - Python class lecture.ppt
Reji K Dhaman
 
Lecture on Python class -lecture123456.ppt
Lecture on Python class -lecture123456.pptLecture on Python class -lecture123456.ppt
Lecture on Python class -lecture123456.ppt
Reji K Dhaman
 
Python 2. classes- cruciql for students objects1.pptx
Python 2. classes- cruciql for students objects1.pptxPython 2. classes- cruciql for students objects1.pptx
Python 2. classes- cruciql for students objects1.pptx
KiranRaj648995
 
Python_Object_Oriented_Programming.pptx
Python_Object_Oriented_Programming.pptxPython_Object_Oriented_Programming.pptx
Python_Object_Oriented_Programming.pptx
Koteswari Kasireddy
 
slides11-objects_and_classes in python.pptx
slides11-objects_and_classes in python.pptxslides11-objects_and_classes in python.pptx
slides11-objects_and_classes in python.pptx
debasisdas225831
 
Python Lecture 13
Python Lecture 13Python Lecture 13
Python Lecture 13
Inzamam Baig
 
Python lec4
Python lec4Python lec4
Python lec4
Swarup Ghosh
 
Python_Unit_3.pdf
Python_Unit_3.pdfPython_Unit_3.pdf
Python_Unit_3.pdf
alaparthi
 
Regex,functions, inheritance,class, attribute,overloding
Regex,functions, inheritance,class, attribute,overlodingRegex,functions, inheritance,class, attribute,overloding
Regex,functions, inheritance,class, attribute,overloding
sangumanikesh
 
Unit – V Object Oriented Programming in Python.pptx
Unit – V Object Oriented Programming in Python.pptxUnit – V Object Oriented Programming in Python.pptx
Unit – V Object Oriented Programming in Python.pptx
YugandharaNalavade
 
Module-5-Classes and Objects for Python Programming.pptx
Module-5-Classes and Objects for Python Programming.pptxModule-5-Classes and Objects for Python Programming.pptx
Module-5-Classes and Objects for Python Programming.pptx
YogeshKumarKJMIT
 
Basic_concepts_of_OOPS_in_Python.pptx
Basic_concepts_of_OOPS_in_Python.pptxBasic_concepts_of_OOPS_in_Python.pptx
Basic_concepts_of_OOPS_in_Python.pptx
santoshkumar811204
 
Introduction to Python - Part Three
Introduction to Python - Part ThreeIntroduction to Python - Part Three
Introduction to Python - Part Three
amiable_indian
 
Anton Kasyanov, Introduction to Python, Lecture5
Anton Kasyanov, Introduction to Python, Lecture5Anton Kasyanov, Introduction to Python, Lecture5
Anton Kasyanov, Introduction to Python, Lecture5
Anton Kasyanov
 
what is class in C++ and classes_objects.ppt
what is class in C++ and classes_objects.pptwhat is class in C++ and classes_objects.ppt
what is class in C++ and classes_objects.ppt
malikliyaqathusain
 
2_Classes.pptxjdhfhdfohfshfklsfskkfsdklsdk
2_Classes.pptxjdhfhdfohfshfklsfskkfsdklsdk2_Classes.pptxjdhfhdfohfshfklsfskkfsdklsdk
2_Classes.pptxjdhfhdfohfshfklsfskkfsdklsdk
thuy27042005thieu
 
Object_Oriented_Programming_Unit3.pdf
Object_Oriented_Programming_Unit3.pdfObject_Oriented_Programming_Unit3.pdf
Object_Oriented_Programming_Unit3.pdf
Koteswari Kasireddy
 
Chap 3 Python Object Oriented Programming - Copy.ppt
Chap 3 Python Object Oriented Programming - Copy.pptChap 3 Python Object Oriented Programming - Copy.ppt
Chap 3 Python Object Oriented Programming - Copy.ppt
muneshwarbisen1
 
OOPS-PYTHON.pptx OOPS IN PYTHON APPLIED PROGRAMMING
OOPS-PYTHON.pptx    OOPS IN PYTHON APPLIED PROGRAMMINGOOPS-PYTHON.pptx    OOPS IN PYTHON APPLIED PROGRAMMING
OOPS-PYTHON.pptx OOPS IN PYTHON APPLIED PROGRAMMING
NagarathnaRajur2
 
Lecture topic - Python class lecture.ppt
Lecture topic - Python class lecture.pptLecture topic - Python class lecture.ppt
Lecture topic - Python class lecture.ppt
Reji K Dhaman
 
Lecture on Python class -lecture123456.ppt
Lecture on Python class -lecture123456.pptLecture on Python class -lecture123456.ppt
Lecture on Python class -lecture123456.ppt
Reji K Dhaman
 
Python 2. classes- cruciql for students objects1.pptx
Python 2. classes- cruciql for students objects1.pptxPython 2. classes- cruciql for students objects1.pptx
Python 2. classes- cruciql for students objects1.pptx
KiranRaj648995
 
Python_Object_Oriented_Programming.pptx
Python_Object_Oriented_Programming.pptxPython_Object_Oriented_Programming.pptx
Python_Object_Oriented_Programming.pptx
Koteswari Kasireddy
 
slides11-objects_and_classes in python.pptx
slides11-objects_and_classes in python.pptxslides11-objects_and_classes in python.pptx
slides11-objects_and_classes in python.pptx
debasisdas225831
 
Ad

More from Emertxe Information Technologies Pvt Ltd (20)

Career Transition (1).pdf
Career Transition (1).pdfCareer Transition (1).pdf
Career Transition (1).pdf
Emertxe Information Technologies Pvt Ltd
 
10_isxdigit.pdf
10_isxdigit.pdf10_isxdigit.pdf
10_isxdigit.pdf
Emertxe Information Technologies Pvt Ltd
 
01_student_record.pdf
01_student_record.pdf01_student_record.pdf
01_student_record.pdf
Emertxe Information Technologies Pvt Ltd
 
02_swap.pdf
02_swap.pdf02_swap.pdf
02_swap.pdf
Emertxe Information Technologies Pvt Ltd
 
01_sizeof.pdf
01_sizeof.pdf01_sizeof.pdf
01_sizeof.pdf
Emertxe Information Technologies Pvt Ltd
 
07_product_matrix.pdf
07_product_matrix.pdf07_product_matrix.pdf
07_product_matrix.pdf
Emertxe Information Technologies Pvt Ltd
 
06_sort_names.pdf
06_sort_names.pdf06_sort_names.pdf
06_sort_names.pdf
Emertxe Information Technologies Pvt Ltd
 
05_fragments.pdf
05_fragments.pdf05_fragments.pdf
05_fragments.pdf
Emertxe Information Technologies Pvt Ltd
 
04_magic_square.pdf
04_magic_square.pdf04_magic_square.pdf
04_magic_square.pdf
Emertxe Information Technologies Pvt Ltd
 
03_endianess.pdf
03_endianess.pdf03_endianess.pdf
03_endianess.pdf
Emertxe Information Technologies Pvt Ltd
 
02_variance.pdf
02_variance.pdf02_variance.pdf
02_variance.pdf
Emertxe Information Technologies Pvt Ltd
 
01_memory_manager.pdf
01_memory_manager.pdf01_memory_manager.pdf
01_memory_manager.pdf
Emertxe Information Technologies Pvt Ltd
 
09_nrps.pdf
09_nrps.pdf09_nrps.pdf
09_nrps.pdf
Emertxe Information Technologies Pvt Ltd
 
11_pangram.pdf
11_pangram.pdf11_pangram.pdf
11_pangram.pdf
Emertxe Information Technologies Pvt Ltd
 
10_combinations.pdf
10_combinations.pdf10_combinations.pdf
10_combinations.pdf
Emertxe Information Technologies Pvt Ltd
 
08_squeeze.pdf
08_squeeze.pdf08_squeeze.pdf
08_squeeze.pdf
Emertxe Information Technologies Pvt Ltd
 
07_strtok.pdf
07_strtok.pdf07_strtok.pdf
07_strtok.pdf
Emertxe Information Technologies Pvt Ltd
 
06_reverserec.pdf
06_reverserec.pdf06_reverserec.pdf
06_reverserec.pdf
Emertxe Information Technologies Pvt Ltd
 
05_reverseiter.pdf
05_reverseiter.pdf05_reverseiter.pdf
05_reverseiter.pdf
Emertxe Information Technologies Pvt Ltd
 
Ad

Recently uploaded (20)

Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0
RodrigoMori7
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to KnowWhat is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
SMACT Works
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptxISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
AyilurRamnath1
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Trends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary MeekerTrends Artificial Intelligence - Mary Meeker
Trends Artificial Intelligence - Mary Meeker
Clive Dickens
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0FCF- Getting Started in Cybersecurity 3.0
FCF- Getting Started in Cybersecurity 3.0
RodrigoMori7
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to KnowWhat is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
SMACT Works
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptxISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
AyilurRamnath1
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 

Python programming : Classes objects

  • 3. Creation of Class General Format  Class is a model or plan to create the objects  Class contains,  Attributes: Represented by variables  Actions : Performed on methods  Syntax of defining the class, Syntax Example class Classname(object): """docstrings""" Attributes def __init__(self): def method1(): def method2(): class Student: """The below block defines attributes""" def __init__(self): self.name = "Ram" self.age = 21 self.marks = 89.75 """The below block defines a method""" def putdata(self): print("Name: ", self.name) print("Age: ", self.age) print("Marks: ", self.marks)
  • 4. Creation of Class Program #To define the Student calss and create an Object to it. #Class Definition class Student: #Special method called constructor def __init__(self): self.name = "Ram" self.age = 21 self.marks = 75.90 #This is an instance method def putdata(self): print("Name: ", self.name) print("Age: ", self.age) print("Marks: ", self.marks) #Create an instance to the student class s = Student() #Call the method using an Object s.putdata()
  • 6. The Self Variable  ‘Self’ is the default variable that contains the memory address of the instance of the current class s1 = Student()  s1 contains the memory address of the instance  This memory address is internally and by default passed to ‘self’ variable Usage-1: def __init__(self):  The ‘self’ variable is used as first parameter in the constructor Usage-2: def putdata(self):  The ‘self’ variable is used as first parameter in the instance methods
  • 8. Constructor Constructor with NO parameter  Constructors are used to create and initialize the 'Instance Variables'  Constructor will be called only once i.e at the time of creating the objects  s = Student() Example def __init__(self): self.name = "Ram" self.marks = 99
  • 9. Constructor Constructor with parameter Example def __init__(self, n = "", m = 0): self.name = n self.marks = m Instance-1 s = Student() Will initialize the instance variables with default parameters Instance-2 s = Student("Ram", 99) Will initialize the instance variables with parameters passed
  • 10. Constructor Program #To create Student class with a constructor having more than one parameter class Student: #Constructor definition def __init__(self, n = "", m = 0): self.name = n self.marks = m #Instance method def putdata(self): print("Name: ", self.name) print("Marks: ", self.marks) #Constructor called without any parameters s = Student() s.putdata() #Constructor called with parameters s = Student("Ram", 99) s.putdata()
  • 12. Types Of Variables  Instance variables  Class / Static variables
  • 13. Types Of Variables Instance Variables  Variables whose separate copy is created for every instance/object  These are defined and init using the constructor with 'self' parameter  Accessing the instance variables from outside the class,  instancename.variable class Sample: def __init__(self): self.x = 10 def modify(self): self.x += 1 #Create an objects s1 = Sample() s2 = Sample() print("s1.x: ", s1.x) print("s2.x: ", s2.x) s1.modify() print("s1.x: ", s1.x) print("s2.x: ", s2.x)
  • 14. Types Of Variables Class Variables  Single copy is created for all instances  Accessing class vars are possible only by 'class methods'  Accessing class vars from outside the class,  classname.variable class Sample: #Define class var here x = 10 @classmethod def modify(cls): cls.x += 1 #Create an objects s1 = Sample() s2 = Sample() print("s1.x: ", s1.x) print("s2.x: ", s2.x) s1.modify() print("s1.x: ", s1.x) print("s2.x: ", s2.x)
  • 16. Namespaces Introduction  Namespace represents the memory block where names are mapped/linked to objects  Types:  Class namespace  - The names are mapped to class variables  Instance namespace  - The names are mapped to instance variables
  • 17. Namespaces Class Namespace #To understand class namespace #Create the class class Student: #Create class var n = 10 #Access class var in class namespace print(Student.n) #Modify in class namespace Student.n += 1 #Access class var in class namespace print(Student.n) #Access class var in all instances s1 = Student() s2 = Student() #Access class var in instance namespace print("s1.n: ", s1.n) print("s2.n: ", s2.n) 10n Class Namespace 10n 10n Instance NamespaceInstance Namespace 11n Class Namespace 11n 11n Instance NamespaceInstance Namespace Before modifyng class variable ‘n’ After modifyng class variable ‘n’ If class vars are modified in class namespace, then it reflects to all instances
  • 18. Namespaces Instance Namespace #To understand class namespace #Create the class class Student: #Create class var n = 10 s1 = Student() s2 = Student() #Modify the class var in instance namespace s1.n += 1 #Access class var in instance namespace print("s1.n: ", s1.n) print("s2.n: ", s2.n) 10n Class Namespace 10n 10n Instance NamespaceInstance Namespace 10n Class Namespace 11n 10n Instance NamespaceInstance Namespace Before modifyng class variable ‘n’ After modifyng class variable ‘n’ If class vars are modified in instance namespace, then it reflects only to that instance
  • 20. Types of Methods  Types:  Instance Methods  - Accessor  - Mutator  Class Methods  Static Methods
  • 21. Types of Methods Instance Methods ● Acts upon the instance variables of that class ● Invoked by instance_name.method_name() #To understanf the instance methods class Student: #Constructor definition def __init__(self, n = "", m = 0): self.name = n self.marks = m #Instance method def putdata(self): print("Name: ", self.name) print("Marks: ", self.marks) #Constructor called without any parameters s = Student() s.putdata() #Constructor called with parameters s = Student("Ram", 99) s.putdata()
  • 22. Types of Methods Instance Methods: Accessor + Mutator #To understand accessor and mutator #Create the class class Student: #Define mutator def setName(self, name): self.name = name #Define accessor def getName(self): return self.name #Create an objects s = Student() #Set the name s.setName("Ram") #Print the name print("Name: ", s.getName()) Accessor Mutator ● Methods just reads the instance variables, will not modify it ● Generally written in the form: getXXXX() ● Also called getter methods ● Not only reads the data but also modifies it ● Generally wriiten in the form: setXXXX() ● Also called setter methods
  • 23. Types of Methods Class Methods #To understand the class methods class Bird: #Define the class var here wings = 2 #Define the class method @classmethod def fly(cls, name): print("{} flies with {} wings" . format(name, cls.wings)) #Call Bird.fly("Sparrow") Bird.fly("Pigeon") ● This methods acts on class level ● Acts on class variables only ● Written using @classmethod decorator ● First param is 'cls', followed by any params ● Accessed by classname.method()
  • 24. Types of Methods Static Methods #To Understand static method class Sample: #Define class vars n = 0 #Define the constructor def __init__(self): Sample.n = Sample.n + 1 #Define the static method @staticmethod def putdata(): print("No. of instances created: ", Sample.n) #Create 3 objects s1 = Sample() s2 = Sample() s3 = Sample() #Class static method Sample.putdata() ● Needed, when the processing is at the class level but we need not involve the class or instances ● Examples: - Setting the environmental variables - Counting the number of instances of the class ● Static methods are written using the decorator @staticmethod ● Static methods are called in the form classname.method()
  • 26. Passing Members ● It is possible to pass the members(attributes / methods) of one class to another ● Example: e = Emp() ● After creating the instance, pass this to another class 'Myclass' ● Myclass.mymethod(e) - mymethod is static
  • 27. Passing Members Example #To understand how members of one class can be passed to another #Define the class class Emp: def __init__(self, name, salary): self.name = name self.salary = salary def putdata(self): print("Name: ", self.name) print("Salary: ", self.salary) #Create Object e = Emp("Ram", 20000) #Call static method of Myclass and pass e Myclass.mymethod(e) #Define another class class Myclass: @staticmethod def mymethod(e): e.salary += 1000 e.putdata()
  • 28. Passing Members Exercise 1. To calculate the power value of a number with the help of a static method
  • 30. Inner Class Introduction ● Creating class B inside Class A is called nested class or Inner class ● Example: Person's Data like, - Name: Single value - Age: Single Value - DoB: Multiple values, hence separate class is needed
  • 31. Inner Class Program: Version-1 #To understand inner class class Person: def __init__(self): self.name = "Ram" self.db = self.Dob() def display(self): print("Name: ", self.name) #Define an inner class class Dob: def __init__(self): self.dd = 10 self.mm = 2 self.yy = 2002 def display(self): print("DoB: {}/{}/{}" . format(self.dd, self.mm, self.yy)) #Creating Object p = Person() p.display() #Create inner class object i = p.db i.display()
  • 32. Inner Class Program: Version-2 #To understand inner class class Person: def __init__(self): self.name = "Ram" self.db = self.Dob() def display(self): print("Name: ", self.name) #Define an inner class class Dob: def __init__(self): self.dd = 10 self.mm = 2 self.yy = 2002 def display(self): print("DoB: {}/{}/{}" . format(self.dd, self.mm, self.yy)) #Creating Object p = Person() p.display() #Create inner class object i = Person().Dob() i.display()