@property
- для создания управляемых атрибутов, где получение, установка или удаление значения можно перехватывать и изменять поведение.
@staticmethod
- для методов класса, которым не нужен доступ ни к экземпляру, ни к классу.
@classmethod
- для методов класса, которые получают ссылку на сам класс в качестве первого аргумента (обычно cls
).
@lru_cache
из модуля functools
- для кеширования результатов вызова функций на основе их аргументов.
Пользовательские декораторы - для логирования, авторизации, измерения времени выполнения.
Пример использования @property
:
python
Пример использования @staticmethod
:
python
@property
- для создания управляемых атрибутов, где получение, установка или удаление значения можно перехватывать и изменять поведение.
@staticmethod
- для методов класса, которым не нужен доступ ни к экземпляру, ни к классу.
@classmethod
- для методов класса, которые получают ссылку на сам класс в качестве первого аргумента (обычно cls
).
@lru_cache
из модуля functools
- для кеширования результатов вызова функций на основе их аргументов.
Пользовательские декораторы - для логирования, авторизации, измерения времени выполнения.
Пример использования @property
:
python
Пример использования @staticmethod
:
python
Register or sign in to get access to full answers for all questions from the question bank.