装饰器是 Python 中强大而灵活的功能,用于在不修改函数代码的情况下,增强或修改函数的行为。装饰器通常用于在函数执行前或执行后添加一些额外的功能。
下面是装饰器的基本概念和使用方法:
1. 函数的基本结构:
在理解装饰器之前,先了解一下 Python 函数的基本结构:
def my_function():
# 函数体
return result
2. 装饰器的概念:
装饰器实际上是一个函数,它接受一个函数作为参数,并返回一个新的函数。这个新的函数通常会在调用原始函数之前或之后执行一些额外的操作。
3. 装饰器的基本语法:
def my_decorator(func):
def wrapper():
# 在调用原始函数之前的额外操作
result = func() # 调用原始函数
# 在调用原始函数之后的额外操作
return result
return wrapper
@my_decorator
def my_function():
# 原始函数的实现
return result
在上述例子中,@my_decorator
语法是装饰器的一种简便写法,等同于 my_function = my_decorator(my_function)
。
4. 装饰器的应用:
a. 记录函数执行时间:
import time
def timing_decorator(func):
def wrapper(*args, **kwarg