$python用装饰器实现一个计时器
直接上代码:
import time
from functools import wraps
# 定义装饰器
def fn_timer(function):
@wraps(function)
def function_timer(*args,**kwargs):
t0 = time.time()
result = function(*args,**kwargs)
t1 = time.time()
print '[finished {func_name} in {time:.2f}s]'.format(func_name = function.__name__,time = t1 - t0)
return result
return function_timer
# 使用装饰器来计时
@fn_timer
def download(url):
# 模拟下载3秒
print 'start to download from {0}...'.format(url)
time.sleep(3)
print 'download finished!'
download('www.baidu.com')
start to download from www.baidu.com...
download finished!
[finished download in 3.00s]
随机推荐
- 【黑金原创教程】【TimeQuest】【第五章】网表质量与外部模型
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- 【BZOJ4873】[Shoi2017]寿司餐厅 最大权闭合图
[BZOJ4873][Shoi2017]寿司餐厅 Description Kiana最近喜欢到一家非常美味的寿司餐厅用餐.每天晚上,这家餐厅都会按顺序提供n种寿司,第i种寿司有一个代号ai和美味度di ...
- kafka 相关配置
kafka主要配置包括三类:broker configuration,producer configuration and consumer configuration. Broker Config ...
- coderfun-boot接私活利器,文档详实,非一般的开发速度
项目主页:https://gitee.com/klguang/coderfun-boot 演示地址:http://106.15.195.9:8080/admin/项目文档:https://www.ka ...
- spring-boot Web集群
SpringBoot启动类增加注解 @EnableRedisHttpSession @SpringBootApplication @ImportResource({"classpath:co ...
- Python全栈day13(作业讲解根据用户输入选择输出字典内容)
题目,有一个动植物对应的字典内容如下,请根据用户输入列出对应的动物或者植物,实现字典三级菜单功能 dic = { "植物": {"草本植物": ["牵 ...
- 用flask开发个人博客(4)—— flask中4种全局变量
https://blog.csdn.net/hyman_c/article/details/53512109 一 current_app current_app代表当前的flask程序实例,使用时需 ...
- 前端开发 - HTML - 总结
html head标签 title 显示网站的标题 meta 提供有关页面的原信息 link 链接css资源文件.网站图标 style 定义内部样式表 script 链接脚本js文件 body标签 块 ...
- Python 之网络编程
# 流程描述: # # 1. 服务器根据地址类型(ipv4, ipv6), socket类型, 协议创建socket; # # 2. 服务器为socket绑定ip地址和端口号; # # 3. 服务器s ...
- 前端框架之SweetAlert
简介 SweetAlert是一款很好用的弹出框框架 下载 点我下载 导入 博主用的是bootstrap-sweetalert,所以要依赖bootstrap,导入前先导入原生jQuery以及bootst ...