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