Зачем нужен @staticmethod в Python
Python
Middle
Без компании
Зачем нужен @staticmethod в Python
Ответы
`@staticmethod` используется для создания методов, которые не требуют доступа к экземпляру (`self`) или классу (`cls`). Они работают как обычные функции, но логически связаны с классом.
**Пример:**
```
class MathUtils:
@staticmethod
def add(a, b):
return a + b
print(MathUtils.add(5, 3)) # 8
```
**Зачем использовать:**
- Логическая группировка: метод относится к классу, но не зависит от его состояния.
- Не требует `self`/`cls`, что упрощает сигнатуру.
- Альтернатива модульным функциям, если они тесно связаны с классом.
**Отличие от `@classmethod`:**
`@classmethod` получает класс как первый аргумент (`cls`), а `@staticmethod` — нет.