- python装饰器
我目前理解的装饰器就是方便代码编写
- 原始程序
def a_new_decorator(a_func):
def wrapTheFunction():`在这里插入代码片`
print("I am doing some boring work before executing a_func()")
a_func()
print("I am doing some boring work after executing a_func()")
return wrapTheFunction
def a_function_requiring_decoration():
print("I am the function which needs some decoration to remove my foul smell")
a_function_requiring_decoration=a_new_decorator(a_function_requiring_decoration)
a_function_requiring_decoration()
输出
I am doing some boring work before executing a_func()
I am the function which needs some decoration to remove my foul smell
I am doing some boring work after executing a_func()
通过给函数传入一个函数名的参数来完成运行,但是如果这个过程需要重复运行的话,就比较繁琐,因此使用修饰器
- 修饰器改进代码
@a_new_decorator
def a_function_requiring_decoration():
"""Hey you! Decorate me!"""
print("I am the function which needs some decoration to "
"remove my foul smell")
a_function_requiring_decoration()
这里的@a_new_decorator就把参数接口暴露出来,然后下边的函数就是被传入的参数。