Python3中的装饰器函数
装饰器是Python的一个重要特性,它允许我们在不改变原有函数代码的情况下,为函数添加新的功能,装饰器本质上是一个高阶函数,它接收一个函数作为参数,并返回一个新的函数,在Python3中,我们可以使用@符号来应用装饰器。
装饰器的使用方法如下:
1、定义一个装饰器函数,这个函数接收一个函数作为参数。
2、在装饰器函数内部,定义一个新的函数,这个新函数通常会包含原函数的调用,以及一些额外的操作。
3、装饰器函数返回这个新函数。
4、在需要使用装饰器的函数上方,使用@符号和装饰器函数的名称来应用装饰器。
下面是一个简单的装饰器示例:
def my_decorator(func): def wrapper(): print("Something is happening before the function is called.") func() print("Something is happening after the function is called.") return wrapper @my_decorator def say_hello(): print("Hello!") say_hello()
在这个示例中,my_decorator
就是一个装饰器函数,它接收一个函数func
作为参数,在my_decorator
内部,我们定义了一个新的函数wrapper
,这个函数在调用func
之前和之后分别打印了一些信息。my_decorator
返回了这个新函数。
在say_hello
函数上方,我们使用了@my_decorator
来应用装饰器,这意味着当我们调用say_hello
时,实际上是在调用my_decorator(say_hello)
返回的新函数,当我们运行这段代码时,输出将会是:
Something is happening before the function is called. Hello! Something is happening after the function is called.
这就是Python3中的装饰器函数的基本用法,通过使用装饰器,我们可以在不修改原有函数代码的情况下,为函数添加新的功能,这使得我们的代码更加模块化,更易于维护和扩展。
还没有评论,来说两句吧...