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.