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中的装饰器函数的基本用法,通过使用装饰器,我们可以在不修改原有函数代码的情况下,为函数添加新的功能,这使得我们的代码更加模块化,更易于维护和扩展。



还没有评论,来说两句吧...