python decorator实例
来源:互联网 发布:python 逆矩阵 编辑:程序博客网 时间:2024/06/01 07:26
1. 两特性
1.1. 在函数调用的前后打印出日志 1.2、decorator支持 @log && @log('execute')
2. code
# -*- coding: utf-8 -*-import functoolsdef log(s = None): def decorate(func): @functools.wraps(func) def wrapper(*args, **kw): print('Start') if isinstance(s, str): print('%s %s()' % (s, func.__name__)) else: print('call %s()' % func.__name__) f = func(*args, **kw) print('Done') return f return wrapper return decorateprint "==================================="print "======== @log() ========"print "==================================="@log()def now(): print('2015-3-25')now()print "==================================="print "======== @log('Lanuch') ======== "print "==================================="@log("Lanuch ")def now(): print('2015-3-25')now()print "====== print now.__name__ ====="print now.__name__
3. Test result
4. 总结
”def log(s = None)“中的“s = None”是1.2的关键。
也是解决“TypeError: log() takes exactly 1 argument (0 given)”的钥匙。
0 0
- python decorator实例
- python decorator
- python decorator
- python decorator
- python decorator
- Python - Decorator
- Python decorator
- python decorator
- python decorator
- Python Decorator
- Python Decorator
- python decorator
- Python Decorator
- python decorator
- Python - decorator
- Python Decorator
- Python - Decorator
- python decorator
- EasyRTMP视频直播推送H264 sps解析错误导致播放画面拉伸问题解决
- 如何识别牛逼的前端工程师
- Linux下用文件IO的方式操作GPIO
- Android 与 H5 数据的传递
- Caffe-faster-rcnn demo测试
- python decorator实例
- xss攻击进阶篇---如何利用抓包工具Fiddler进行xss攻击
- C语言二维数组作为函数的参数
- HDU 1175 连连看【回溯】
- 解决Font size和Display size设置到最大,显示异常的问题
- git学习笔记
- 数据加密的一些理解
- 【JDK源码阅读10-util】Set接口---HashSet
- opencv 学习第一天 图片读写和保存