Python classmethod() Function with Examples

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.

Leave a Reply