| title | Встроенная функция staticmethod() Python - Шпаргалка по Python |
|---|---|
| description | Преобразование метода в статический метод. |
Декоратор @staticmethod преобразует метод таким образом, что он принадлежит классу, но не получает класс или экземпляр в качестве первого аргумента. Это полезно для создания служебных функций, которые логически связаны с классом, но не зависят от состояния класса или экземпляра.
Статический метод можно вызывать как у самого класса, так и у экземпляра.
Вот как определить и вызвать статический метод:
class MathHelper:
@staticmethod
def add(x, y):
return x + y
# Вызов у класса
result1 = MathHelper.add(5, 3)
print(result1)
# Вызов у экземпляра
helper = MathHelper()
result2 = helper.add(10, 20)
print(result2)8
30
Статический метод не имеет доступа к классу (cls) или экземпляру (self). По сути, это обычная функция, вынесенная в пространство имен класса.
- Шпаргалка: Основы ООП
- Шпаргалка: Декораторы
- Шпаргалка: Функции
- classmethod()
- property()