In this article, we will learn the common uses of Python decorators
A Python decorator is a piece of code that allows additions or updates to existing functions without having to change the underlying function definition. When a program runs, it tries to edit another part of itself, which is called metaprogramming.
Decorator is a function type that accepts a function and returns another function, or accepts a class and returns another class. It can be any callable (function, class, method, etc.) and can return anything; it can also take a method.
Python decorators are easy to use.The decorator accepts a
callable object, which implements the special method __call()__, which is called a callable object. It adds some functionality and returns a Callable object. The Chinese translation of
Example@somedecorator def exmple_decorators(): print("Hello tutorialspoint python decorators")
Is this worth your time?
The answer is obviously
is . What are the main advantages of writing decorators? Do they enable you to effortlessly excel in your daily development?
let us see!Analysis, Logging and Detection
Validation and Runtime Checks
In addition to this, you may wish to implement more complex custom checks on data entering and exiting the system. Decorators help you manage all of this and apply it to multiple functions at the same time.
Create framework
Many well-known open source frameworks use it. The web application framework
Flask uses this to route URLs to functions that handle HTTP requests.
Reuse non-reusable codeConsider using the Flakey API. You send a query over HTTP to an object that understands JSON, and 99.9% of the time it works. However, a small percentage of all requests will cause the server to return an internal error, requiring you to retry the request. In this case you need to add some retry logic.
The Chinese translation of
Example# Creating a decorator function def decoratorFunction(demofunction): def innerFunc(): print("Yup...It is a decorated function") demofunction() return innerFunc() # Creating a regular ordinary function def normalFunction(): print("Yup...It is a normal ordinary function") decoratedResult = decoratorFunction(normalFunction) decoratedResult
Yup...It is a decorated function Yup...It is a normal ordinary function
decoratorFunction() is a decorator in the previous example. Simply put, a decorator is a wrapper that wraps an object (without changing it) and adds new functionality to the original object. Because this is a commonly used technique, Python provides a syntax feature (called a decorator) that makes it easier to use. Consider the following as an example −
Following functions:
@decorated_func def ordinary_function(): print("This is ordinary function")
def ordinary_function(): print("This is ordinary function") decorated = decorated_func(ordinary_func)
in conclusion
No matter what method you use to learn to build decorators, you'll probably be excited about what you can achieve using them and how it will (no kidding) change the way you write Python code forever!
The above is the detailed content of What are the common uses of Python decorators?. For more information, please follow other related articles on the PHP Chinese website!