python元编程--装饰器函数
来源:互联网 发布:詹姆斯职业生涯总数据 编辑:程序博客网 时间:2024/05/03 05:32
装饰器函数可以对一个函数做包装,使其拥有额外的能力,比如记录一个函数的执行时间。实际工作中不可能在每一个函数中去计算执行时间,因为这样的功能也许仅仅是在测试的时候需要。编写一个专门用于计算函数执行时间的装饰器函数,在需要的时候使用。
#coding=utf-8'''Created on 2016-3-9@author: kwsy'''import timefrom functools import wrapsdef timefunc(func): @wraps(func) def wrapper(*args,**kwargs): start = time.time() result = func(*args,**kwargs) end = time.time() print func.__name__,end-start return result return wrapper@timefuncdef test(n): time.sleep(n) if __name__ == '__main__': test(2)
timefunc 函数接受 test(n) 做为参数,在timefunc内部,调用了test函数,为了保证接受任意参数,使用了*args和**kwargs作为参数。
在实际使用中,还可以这样
def test(n): time.sleep(n) if __name__ == '__main__': func = timefunc(test) func(2)
0 0
- python元编程--装饰器函数
- python元编程--设计一个可接受参数的装饰器
- python学习笔记(30)--元编程1-装饰器
- python 装饰器的函数式编程
- python核心编程-函数-装饰器
- python函数式编程中的装饰器
- python函数式编程之装饰器
- Python装饰器与函数式编程
- python函数式编程:匿名函数,装饰器,偏函数
- python 装饰器编程
- python 装饰器编程
- python函数式编程(三)装饰器、偏函数
- PYTHON 函数装饰器
- python 函数装饰器
- Python函数:装饰器
- Python 函数装饰器
- python函数装饰器
- python函数装饰器
- 公共字串计算
- hdu4565 so easy 矩阵
- 对比: Java EE EJB和 Spring Java Bean
- 如何在android studio中实现自定义view
- 欢迎使用CSDN-markdown编辑器
- python元编程--装饰器函数
- HDU 3853 LOOPS(概率DP简单题)
- Android内存分析
- Android-百度地图-定位功能
- 线性回归——Stanford Machine Learning (1)
- 证书问题、刷新自定义view实例
- 目标检测之Harris角点特征
- C++11 lambda表达式
- 决策树算法介绍及应用