python实现编写一个@performance,它可以打印出函数调用的时间。
2016-04-24 15:11
831 查看
问题:
请编写一个@performance,它可以打印出函数调用的时间。
解题分析:
此题的目的有两个一个是使用装饰器@...,二是求出开始调用函数的时间t_start,与结束调用函数的时间t_end。求中间的时间差,并打印出来。
code:
请编写一个@performance,它可以打印出函数调用的时间。
解题分析:
此题的目的有两个一个是使用装饰器@...,二是求出开始调用函数的时间t_start,与结束调用函数的时间t_end。求中间的时间差,并打印出来。
code:
# -*- coding: utf-8 -*- #杨鑫 import time def performance(f): #定义装饰器函数,功能是传进来的函数进行包装并返回包装后的函数 def fn(*args, **kw): #对传进来的函数进行包装的函数 t_start = time.time() #记录函数开始时间 r = f(*args, **kw) #调用函数 t_end = time.time() #记录函数结束时间 print 'call %s() in %fs' % (f.__name__, (t_end - t_start)) #打印调用函数的属性信息,并打印调用函数所用的时间 return r #返回包装后的函数 return fn #调用包装后的函数 @performance #调用装饰器 def factorial(n): #定义乘数函数 return reduce(lambda x, y: x * y, range(1, n + 1)) print factorial(10)
相关文章推荐
- 首次开通
- python的list由多个tuple组成,如何返回每个tuple的每个元素
- python文件读写
- python 装饰器、内部函数、闭包简单理解
- python format()方法
- Python 爬百度帖吧图片
- 用分治法解决最近点对问题:python实现
- [原创]python MySQLdb在windows环境下的安装、出错问题以及解决办法
- python flask 框架后端如何获取前端的表单数据 文本 单选框 多选框
- 【leetcode】(Python)Reverse Vowels of a String实现字符串内元字符倒序
- python函数(一)
- python的多重继承
- Python, MySQLdb 编码问题 UnicodeEncodeError:'latin-1' codec can't encode character ...
- 菜鸟学python(11)list列表基本操作
- python range和xrange
- ipython and bpython
- windows环境下在python中用opencv
- python常见问题与解答
- 基础知识(十六)Opencv、python、ubuntu
- scikit-learn学习之K最近邻算法(KNN)