python小例子之8 -- decorator的使用
2007-11-01 00:00
495 查看
主题: decorator的使用
环境: winxp pro + sp2 + python2.5
备注: 请注意,凡是在源代码文件中使用了中文字符,请最好保存为utf-8格式
本文与另外一篇blog文章内容相关:
python中如何简单的实现decorator模式--由django admin源码所得体会
本文就是因几位网友在该blog回帖后,我对python decorator的使用整理出的一点心得,在上述提及的blog中的代码亦可修改为本文所描述的方式,各位同学可自己试试 :)
具体的语法描述可参考: python manuals -- Language Reference -- 7.Compound statements -- 7.6 Function definitions
代码:
测试:保存为文件,直接执行即可
测试结果:
控制台输出:
环境: winxp pro + sp2 + python2.5
备注: 请注意,凡是在源代码文件中使用了中文字符,请最好保存为utf-8格式
本文与另外一篇blog文章内容相关:
python中如何简单的实现decorator模式--由django admin源码所得体会
本文就是因几位网友在该blog回帖后,我对python decorator的使用整理出的一点心得,在上述提及的blog中的代码亦可修改为本文所描述的方式,各位同学可自己试试 :)
具体的语法描述可参考: python manuals -- Language Reference -- 7.Compound statements -- 7.6 Function definitions
代码:
# decorator_arg.py # 修饰函数 def decorator(fun): def ifun(*args, **kwargs): args = (i+1 for i in args) return fun(*args, **kwargs) return ifun def decorator1(arg): def _decorator1(fun): def ifun(*args, **kwargs): args = (i+arg for i in args) return fun(*args, **kwargs) return ifun return _decorator1 # 被修饰函数1 @decorator def fun1(x,y,z): return x+y+z arg = 2 # 被修饰函数2 @decorator1(arg) def fun2(x,y,z): return x+y+z # 测试代码 a = 3 b = 4 c = 5 print fun1(a,b,c) print fun2(a,b,c)
测试:保存为文件,直接执行即可
测试结果:
控制台输出:
>>> 15 18
相关文章推荐
- httplib2 支持使用例子(python3支持)
- python3.x 的urllib使用例子
- python 中的OptionParser的使用例子
- python3.x 的urllib使用例子
- 使用kafkapython读取实时数据小例子
- Python中使用item()方法遍历字典的例子
- Python的decorator使用
- Kivy A to Z -- Python Decorator的使用
- [Python]使用Decorator设计Cache
- python使用代理爬虫例子
- Python使用htpasswd实现基本认证授权的例子
- 详解Python 协程的详细用法使用和例子
- python中使用urllib2获取http请求状态码的代码例子
- python中使用OpenCV进行人脸检测的例子
- 使用python开发hadoop streaming程序及hadoop python网页抓取例子
- 【python爬虫】python使用代理爬虫例子
- 使用python调用浏览器并打开一个网址的例子
- python网络编程之TCP通信实例和socketserver框架使用例子
- Python的walk和Decorator使用一例
- python使用PyFetion来发送短信的例子