In this tutorial we are going to talk about the python classmethod() function with examples.
Getting Started
Python classmethod() function is another built-in function that transforms a simple function or method into a class method.
It is similar to object method in Object Oriented Programming.
Syntax of classmethod() Function
The syntax of classmethod() function in Python is shown below –
classmethod(function)
Since it is considered un-pythonic way, we can use @classmethod decorator for classmethod definition.
Syntax is –
@classmethod def func(cls, args...)
For example,
class C:
@classmethod
def f(cls, arg1, arg2, ...):
Here, we created a function f() in class C. Decorator @classmethod helps us to convert defined method f() into class method.
Parameters of classmethod() Function
classmethod() function takes only one parameter –
- Function that needs to be converted into class method
Return type of classmethod() Function
The return type of the classmethod() function is a method that can be applied to class.
Examples of classmethod() Function
Example 1
class Greeting:
@classmethod
def hello(cls):
return "Hello Tutorialwing!"
print(Greeting.hello())
Output:
Hello Tutorialwing!
In the above example, we are trying to create a classmethod named hello(). So, first of all we created a class named Greeting. Inside this class, we defined a function named hello() that returns ‘Hello Tutorialwing!’ when called. Using decorator @classmethod enabled us to call method hello() with class name.
Example 2
import random
class House :
@classmethod
def color(cls) :
colors = ["red", "yellow", "green", "blue"]
return random.choice(colors)
print(House.color())
Output:
'yellow'
In this case, we created a class named House and a class method named color(…) that returns color of the house at random from the list of colors ([“red”, “yellow”, “green”, “blue”]).
Example 3
class User:
@classmethod
def username(cls, name):
return name
print(User.username("Tutorialwing"))
Output:
Tutorialwing
In above example, notice that we creates a class method named username. This classmethod takes the name of user as positional argument and return it.
Example 4
class FootballTeam:
@classmethod
def player(cls):
return 11
print(FootballTeam.player())
Output:
11
In above python code, we are trying to display the number of player in a football team through the class method player().
Example 5
class School:
@classmethod
def number_of_lessons(cls):
return 7
print(School.number_of_lessons())
Output:
7
Here, we are displaying the number of lessons studied at school through the classmethod number_of_lessons().
Reference: Official Doc
Learn about more python examples at – https://tutorialwing.com/python-tutorial/
That’s end of this post on python classmethod() function with examples.