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

Чем класс-метод отличается от обычного метода

Класс-метод (classmethod) привязан к классу, а не к экземпляру. Он принимает первым аргументом сам класс (cls), а не экземпляр (self). Обычный метод работает с данными экземпляра.

Пример:

python
class MyClass:
    @classmethod
    def class_method(cls):
        print(f"Called class_method of {cls}")
text
def instance_method(self):
    print(f"Called instance_method of {self}")

Вызов без создания экземпляра

MyClass.class_method() # Работает

MyClass.instance_method() # Ошибка

obj = MyClass()
obj.class_method() # Также работает
obj.instance_method() # Корректно

text

Используется для фабричных методов, альтернативных конструкторов или работы с класс-специфичными данными.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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