@staticmethod определяет метод без автоматического self или cls. Логически он принадлежит классу, но не зависит от состояния класса или экземпляра.
Пример
class Math:
@staticmethod
def clamp(value: int, min_v: int, max_v: int) -> int:
return max(min_v, min(value, max_v))
Разбор
Суммируя:
staticmethod — это функция в пространстве имен класса.
- Используйте его для вспомогательной логики без доступа к атрибутам.
- Это не подходит, когда вам нужно состояние экземпляра или класса.
Итог
@staticmethod определяет метод без автоматического self или cls.