- classmethod
- staticmethod
- pytest
Use cases for decorators in Python
- Common decorators are @classmethod and @staticmethod.
- Flask uses them to mark and configure the routes.
- Pytest uses them to add marks to the tests.
- dataclasses
- Logging calls with parameters.
- Logging elapsed time of calls.
- Access control in Django or other web frameworks. (e.g. login required)
- Memoization (caching)
- Retry
- Function timeout
- Locking for thread safety
- Decorator Library