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

В чем разница между обычным методом и методом класса

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

Пример:

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

obj = MyClass()
obj.instance_method() # Работает с экземпляром
MyClass.class_method() # Работает с классом

text

Ключевые отличия:
1. Обычные методы требуют создания экземпляра, классметоды можно вызывать напрямую от класса
2. Классметоды часто используют для альтернативных конструкторов (фабричные методы)
3. Классметоды имеют доступ к атрибутам класса, но не к атрибутам экземпляра
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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