2019.04.07 装饰器介绍
作者:互联网
文章来自网易云课堂
装饰器实际上就是一个函数,所有要先定义这个函数
然后里面还有一个函数,记得返回这个函数
当做了这个功能装饰器之后,就可以想在某个函数中添加一些想要的功能了
而并没有修改原先函数的基础上给这个函数增加了一些功能
比如当自己已经写完了一个项目,然后想在这个项目中的函数中都添加hello world
有两个特别之处:
参数是一个函数
返回值是一个函数
#在打印run之前,先要打印一个hello world
#在所有的函数执行之前,都要打印一个 hello world
#装饰器使用时通过@符号,放在函数的上面
#装饰器中定义的函数,要使用*args,**kwargs两对兄弟的组合,并且原始函数执行的时候也要放进去
#需要使用functools.wraps在装饰器中的函数上把传进来的这个函数进行包裹,这样就不会丢失原来的函数的__name__等属性。
def zhuanshiqi(func):
@wraps
def _wrapper(*args,**kwargs)
print('hello world')
response = func(*args,**kwargs) run函数有返回值得话要接受的
return response
return _wrapper
@zhuangshiqi
def run():
pass
@zhuangshiqi: run = zhuangshiqi(run)= _wrapper
run.__name__ 是wrapper
from functools import wraps
标签:run,函数,2019.04,wrapper,hello,world,装饰,07 来源: https://www.cnblogs.com/Py-king/p/10664934.html