python 函数装饰器
Posted kaituorensheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 函数装饰器相关的知识,希望对你有一定的参考价值。
举个例子
def a_decorator(func): def wrapTheFunc(): print "before decorator" func() print "end decorator" return wrapTheFunc @a_decorator def a_func_need_decorator(): print "In a_func_need_decorator()" a_func_need_decorator()
输出
before decorator In a_func_need_decorator() end decorator
等价
不是很明白?
@a_decorator
def a_func_need_decorator():
等价于
a_func_need_decorator = a_decorator(a_func_need_decorator)
修改下代码
def a_decorator(func): def wrapTheFunc(): print "before decorator" func() print "end decorator" return wrapTheFunc def a_func_need_decorator(): print "In a_func_need_decorator()" a_func_need_decorator = a_decorator(a_func_need_decorator) a_func_need_decorator()
结果是一致的
什么?函数还可以作为对象传输
是的,举例
def test(a): print a test2 = test test2("hello")
输出
hello
场景
账号验证
日志
参考
https://www.runoob.com/w3cnote/python-func-decorators.html
以上是关于python 函数装饰器的主要内容,如果未能解决你的问题,请参考以下文章