staticmethod объединяет функцию с классом логически, но не передаёт автоматически ни self, ни cls. Он подходит для вспомогательной операции, не зависящей от экземпляра или самого класса.
Для чего нужны статические методы в Python?
staticmethod объединяет функцию с классом логически, но не передаёт автоматически ни self, ни cls. Он подходит для вспомогательной операции, не зависящей от экземпляра или самого класса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
staticmethod объединяет функцию с классом логически, но не передаёт автоматически ни self, ни cls. Он подходит для вспомогательной операции, не зависящей от экземпляра или самого класса.
class Validator:
@staticmethod
def is_positive(value):
return value > 0
Его можно вызвать через класс или экземпляр. Если нужен доступ к классу, например для альтернативного конструктора с учётом наследования, обычно используют classmethod. Иногда обычная функция модуля проще и яснее статического метода.