Встречается на собеседованиях • сегодня
В чем разница между обычным методом и методом класса
Обычный метод (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. Классметоды имеют доступ к атрибутам класса, но не к атрибутам экземпляра
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы