Что такое @staticmethod в Python

Python Middle Без компании
Что такое @staticmethod в Python
Ответы
`@staticmethod` — это декоратор, который превращает метод класса в статический. Такой метод не получает неявных аргументов (`self` или `cls`) и ведёт себя как обычная функция, но принадлежит пространству имён класса. **Особенности:** - Не требует экземпляра (`self`) или класса (`cls`) в аргументах. - Может быть вызван как через класс, так и через экземпляр. - Не имеет доступа к атрибутам класса или экземпляра (если не переданы явно). **Пример:** ``` class MathUtils: @staticmethod def add(a, b): return a + b # Вызов без создания экземпляра print(MathUtils.add(2, 3)) # 5 # Через экземпляр utils = MathUtils() print(utils.add(5, 7)) # 12 ``` **Когда использовать:** - Для логической группировки функций внутри класса. - Если метод не зависит от состояния класса/экземпляра.