装饰器函数是Python的一个重要组成部分,它允许你在不改变原函数代码的情况下,为函数添加新的功能。具体来说,装饰器是一个特殊的函数,它以另一个函数作为参数,并返回一个新的函数,这个新函数通常会在原函数前后添加一些额外的操作。
例如,假设我们有一个名为foo
的函数,我们可以创建一个装饰器来在foo
函数执行前后打印一些信息:
def outer(some_func):
def inner():
print("before some_func")
ret = some_func()
return ret + 1
return inner
@outer
def foo():
return 1
decorated = foo()
print(decorated) # 输出结果:# before some_func # 2
在这个例子中,foo
函数被outer
装饰器装饰了。当我们调用foo()
时,实际上是在调用outer(foo)
,然后返回的inner
函数会被执行。这就是装饰器的工作原理。