python装饰器语法
时间: 2023-07-06 14:15:31 浏览: 84
Python 装饰器的语法如下:
```
@decorator_function
def target_function():
# function body
```
其中,`decorator_function` 是装饰器函数,它可以是任何可调用对象,它的返回值通常是一个新的函数或类。`target_function` 是被装饰的函数或类名。
装饰器函数可以在函数定义之前或之后定义,它们需要接受一个函数作为参数,并返回一个新的函数。装饰器可以被链式使用,一个函数可以被多个装饰器修饰。
例如,下面是一个简单的装饰器函数,它用于在函数执行前打印一条日志信息:
```
def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"Calling {func.__name__} function")
return func(*args, **kwargs)
return wrapper
@log_decorator
def my_function():
print("Hello, world!")
```
在上面的例子中,`log_decorator` 是一个装饰器函数,它接受一个函数作为参数,并返回一个新的函数 `wrapper`。`wrapper` 函数打印一条日志信息,然后调用原始函数 `my_function`。通过在函数定义之前添加 `@log_decorator`,我们将 `my_function` 装饰成了一个新的函数,它在执行前会打印一条日志信息。
阅读全文