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

Что такое статический метод и класс-метод

Статический метод (@staticmethod) — это метод, привязанный к классу, а не к его экземпляру. Он не получает автоматически ни self, ни cls, и работает как обычная функция, но логически связан с классом.

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

Пример:

python
class MyClass:
    @staticmethod
    def static_method(x):
        return x * 2

    @classmethod
    def class_method(cls, x):
        return cls(x)  # Возвращает экземпляр класса

# Использование:
print(MyClass.static_method(5))  # 10
obj = MyClass.class_method(123)  # Создаёт экземпляр MyClass

Разница:

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

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

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

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