在Python中,装饰器是一种强大的工具,可以用来修改或增强函数或类的行为,而无需修改它们的源代码。虽然装饰器可以应用于各种场景,但设计用于数学运算的装饰器可以特别有趣,能够简化数学运算、执行性能优化、或是提供数学函数的自定义行为。下面是一些与数学相关的装饰器示例:
1. 计算函数执行时间装饰器
这个装饰器用于测量并打印任何数学函数的执行时间,帮助性能分析。
import time
def timing_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} took {end_time - start_time:.4f} seconds")
return result
return wrapper
@timing_decorator
def fibonacci(n):
if n