📜  Python中的函数装饰器1(简介)(1)

📅  最后修改于: 2023-12-03 15:19:28.151000             🧑  作者: Mango

Python中的函数装饰器1(简介)

在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_timemeasure_time应用到my_function上。这意味着my_function会通过measure_time装饰器进行修饰,使得在函数调用时,自动调用measure_time中定义的函数操作。

以上就是Python中函数装饰器的一些简要介绍,它可以非常方便地修改函数的行为,同时保持代码可读性和易维护性,是我们在Python开发中经常使用的一种技巧。