📅  最后修改于: 2023-12-03 15:19:28.151000             🧑  作者: Mango
在Python中,函数装饰器是一种用来修改其他函数的功能的函数。装饰器返回了一个新函数,这个新函数可能增加或修改功能,或者提供函数名称或参数的一些元数据,具体取决于装饰器的实际用途。装饰器实际上是一个Python语法糖,它使得代码更具可读性和易维护性。
函数装饰器可以让我们在不改变函数本身代码的情况下,动态地修改函数的行为。这在我们需要在不影响现有代码逻辑的情况下,改变函数的行为时非常有用。
下面是一个简单的函数装饰器的例子,用来打印函数的执行时间:
import time
def measure_time(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print("Function {} took {:.3f} seconds to execute.".format(
func.__name__, end_time - start_time))
return result
return wrapper
@measure_time
def my_function():
time.sleep(2)
my_function()
这段代码定义了一个名为measure_time
的函数装饰器,它接受一个函数作为参数,然后返回一个新的包装函数。这个包装函数会记录函数执行的开始时间和结束时间,并输出执行时间。
在定义my_function
函数之前,使用装饰器@measure_time
将measure_time
应用到my_function
上。这意味着my_function
会通过measure_time
装饰器进行修饰,使得在函数调用时,自动调用measure_time
中定义的函数操作。
以上就是Python中函数装饰器的一些简要介绍,它可以非常方便地修改函数的行为,同时保持代码可读性和易维护性,是我们在Python开发中经常使用的一种技巧。