Python中的修饰函数(装饰器)用于修改或增强其他函数或方法的功能,而不需要修改它们的源代码。装饰器通常用于添加日志、性能测量、权限检查等功能。以下是一个使用修饰函数来测量函数执行时间的示例:
- import time
-
- # 定义一个装饰器函数,用于测量函数执行时间
- def measure_time(func):
- def wrapper(*args, **kwargs):
- start_time = time.time() # 记录开始时间
- result = func(*args, **kwargs) # 执行原始函数
- end_time = time.time() # 记录结束时间
- elapsed_time = end_time - start_time # 计算执行时间
- print(f"{func.__name__} 执行时间: {elapsed_time} 秒")
- return result
- return wrapper
-
- # 使用装饰器来测量函数执行时间
- @measure_time
- def some_function():
- # 模拟一个耗时的操作
- time.sleep(2)
- print("Function executed")
-
- some_function()
在这个示例中,我们定义了一个名为measure_time
的装饰器函数,它接受一个函数func
作为参数。装饰器内部定义了一个wrapper
函数,它在调用func
之前和之后分别记录了开始时间和结束时间,并计算了执行时间。最后,装饰器打印出函数的执行时间。
然后,我们使用@measure_time
语法将装饰器应用到some_function
上。当我们调用some_function
时,装饰器会测量并打印出函数执行的时间。
这是一个简单的示例,演示了如何使用装饰器来添加额外的功能而不修改原始函数的代码。您可以根据需要编写更复杂的装饰器来满足不同的需求。