python装饰器

python装饰器这篇讲得不错
https://www.runoob.com/w3cnote/python-func-decorators.html

1.python中一切皆对象,函数也可以赋给一个变量

2.函数中可以定义函数,并在函数中调用

3.函数可以return一个内部定义的函数,return后就可以赋给一个变量

4.函数可以作为参数传递

5.装饰器的语法实际上是一种缩写


#1和#2是等价的,装饰器语法就是一种简写
上面是展示了带参数的装饰器,其实本质就是内部定义函数再返回,定义再返回的逐层迭代
最后a_function_requiring_decoration就是内部函数wrapTheFunction
wrapTheFunction接受的参数都传递给形参函数a_func,所以a_func和wrapTheFunction都接受任意参数,才有装饰器的意思,所以带参数的装饰器需要在外层在包一个函数,把需要的参数传进来,给内部函数用

留言

熱門文章