Можете объяснить назначение и использование декоратора @classmethod в Python?

Декоратор @classmethod в Python используется для определения метода класса, который получает сам класс в качестве первого аргумента вместо экземпляра.

Короткий ответ

Что ответить на собеседовании

Декоратор @classmethod в Python используется для определения метода класса, который получает сам класс в качестве первого аргумента вместо экземпляра.

Подробный разбор

Ответ с пояснениями

Декоратор @classmethod в Python используется для определения метода класса, который получает сам класс в качестве первого аргумента вместо экземпляра.

Это значит, что метод может работать с атрибутами и другими методами класса, а не конкретного объекта.

Пример:

class MyClass:
    count = 0

    def __init__(self):
        MyClass.count += 1

    @classmethod
    def get_count(cls):
        return cls.count

obj1 = MyClass()
obj2 = MyClass()
print(MyClass.get_count())  # Выведет 2

Здесь get_count — метод класса, который возвращает количество созданных объектов. cls — ссылка на сам класс, аналогично self для экземпляра.

Используется, когда нужно работать с состоянием класса или создавать альтернативные конструкторы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее