Class Method in Python

 

Class Method


To define static method, @classmethod decorator is used, method defined under @classmethod decorator are class method.


#program to define class method

class Employee_data :
@classmethod
def operation(cls):
print("this is a class method")


  • Class Method take "cls" as a default parameter.

#program

class Employee_data :
@classmethod
def operation(cls):
cls.a = 10
cls.b = 20
return (cls.a + cls.b)


  • Class Method perform operation on Class variables.

#program

class Employee_data :
@classmethod
def operation(cls):
cls.a = 10
cls.b = 20
return (cls.a + cls.b)

@classmethod
def display_operation(cls):
print(cls.operation())


  • Class name can be called by class name and object as well.

#program

class Employee_data :
@classmethod
def operation(cls):
cls.a = 10
cls.b = 20
return (cls.a + cls.b)

@classmethod
def display_operation(cls):
print("return is :", cls.operation())

todo = Employee_data()
todo.display_operation()
# calling based on object name

Employee_data.display_operation() # calling based on class name

 #Output

return is : 30
return is : 30


  • Class Method gets memory at class loading time.

#program

class Employee_data :
@classmethod
def operation(cls):
cls.a = 10
cls.b = 20
return (cls.a + cls.b)

@classmethod
def display_operation(cls):
print("return is :", cls.operation())

Employee_data.display_operation()
# calling based on class name before creating object

todo = Employee_data()
todo.display_operation()
# calling based on object name

 #Output

return is : 30
return is : 30


  • Class Method perform operation on Static variables as well.

#program

class Employee_data :

website =
"AETies"

@classmethod
def operation(cls):
cls.a = 10
cls.b = 20
return (cls.a + cls.b)

@classmethod
def display_operation(cls):
print("return is :", cls.operation())
print("website is :", cls.website) #calling static variable

Employee_data.display_operation() # calling based on class name before creating object

todo = Employee_data()
todo.display_operation()
# calling based on object name

 #Output

return is : 30
website is : AETies
return is : 30
website is : AETies






Comments

My photo
Techno Xpresss
Bangalore, Karnataka, India