Встречается на 3% собеседований по Python
Зачем нужен @classmethod в Python
@classmethod — это декоратор, который превращает метод в метод класса. Он принимает первым аргументом cls (сам класс), а не self (экземпляр). Используется для:
- Альтернативных конструкторов — создание объектов разными способами.
- Доступа к классу — когда нужен класс, а не экземпляр.
- Изменения состояния класса — например, модификация 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 применяют для фабричных методов или операций, связанных с классом, а не экземпляром.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы