Python装饰器
时间: 2023-07-06 16:18:28 浏览: 75
Python装饰器是一种函数,它可以接受一个函数作为参数,并返回一个新的函数,通常用于修改或增强原有函数的功能。装饰器的语法使用@符号,将装饰器函数放在被装饰函数的上方,例如:
```
def my_decorator(func):
def wrapper():
print("Before the function is called.")
func()
print("After the function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
```
在这个例子中,my_decorator 是一个装饰器函数,它接受一个函数作为参数,然后返回一个新的函数 wrapper。当我们使用 @my_decorator 语法装饰 say_hello 函数时,实际上是将 say_hello 函数作为参数传递给 my_decorator 函数,然后将返回的 wrapper 函数替换原来的 say_hello 函数。当我们调用 say_hello 函数时,实际上是调用了 wrapper 函数,这个函数会在调用原来的 say_hello 函数前后打印一些信息,从而增强了原函数的功能。
阅读全文