Встречается на собеседованиях • сегодня

Зачем нужен @classmethod в Python

@classmethod — это декоратор, который превращает метод в метод класса. Он принимает первым аргументом cls (сам класс), а не self (экземпляр). Используется для:

  1. Альтернативных конструкторов — создание объектов разными способами.
  2. Доступа к классу — когда нужен класс, а не экземпляр.
  3. Изменения состояния класса — например, модификация class-level переменных.

Пример:

python
class Person:
    def __init__(self, name):
        self.name = name

    @classmethod
    def from_json(cls, json_data):
        return cls(json_data["name"])

# Использование
data = {"name": "Alice"}
person = Person.from_json(data)  # Альтернативный конструктор

Обычно @classmethod применяют для фабричных методов или операций, связанных с классом, а не экземпляром.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы