zmj27404的ChinaUnix博客
zmj27404
全部博文(12)
2015年(12)
manshukw
cuiyu
星际海盗
ldx163yx
分类: Python/Ruby
2015-01-29 18:35:44
原文地址:python 装饰器 作者:yueming
装饰器将在解释器运行一开始就被加载, 从而将被装饰的函数将被展开成如上方式, 因为 run_time装饰器返回wrapper函数, 所以当调用test函数时其实就是对wrapper的调用 如果你在Python shell下执行以上语句就会发现定义完test函数然后查看test时, shell所展示的是wrapper函数: 接下来说说如何编写带参数的装饰器, 大家如果细心的话就可以发现其实带参数的装饰器是经过调用"装饰器"函数返回的一个装饰器, 之所以装饰器上打引号是说明其实这个所谓的"装饰器"只不过是一个普通的函数, 但这个普通的函数返回一个装饰器, 可以参看下面例子: import time def route(url): def decorator(func): func.__url__ = url return func return decorator @route(r"/") def index(): return "Hi" 大家可以发现在使用route装饰器时我们其实是调用了route函数, route函数返回一个decorator装饰器, 因为我们不需要在装饰器内运行函数, 所以不需要一个wrapper函数来收集参数.
上一篇:VIM 的配置和神一般的插件。
下一篇:mysql存储procedure学习
登录 注册