Using classmethod decorator you can define a class method in Python. You can call this method using
The first parameter must be
cls, which can be used to access class attributes and only access the class attributes but not the instance attributes.
Python classmethod decorator example
A simple example code creates a class method using classmethod().
class Student: school_name = 'The Xavier Institute' def __init__(self): self.age = 20 # instance attribute @classmethod def display(cls): print('School:', cls.school_name) # Access Class Method Student.display()
Calling Class Method using Object
However, the same method can be called using an object also.
# Access Class Method s1 = Student() s1.display()
Note: The class method can only access class attributes, but not the instance attributes.
When to use @classmethod decorator Python?
Answer: class methods for any methods that are not bound to a specific instance but the class.
Python classmethod is useful when making that class as a factory or having to initialize your class only once. like opening a file once, and using the feed method to read the file line by line.
Do comment if you have any doubts or suggestions on this Python decorator topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.
Degree in Computer Science and Engineer: App Developer and has multiple Programming languages experience. Enthusiasm for technology & like learning technical.