python---输出函数运行时间的装饰器
2024-10-20 03:30:44
"""
装饰器: 不改变原函数的调用方式和函数的前提下, 增加额外的功能, 其本质就是一个闭包
---输出函数的运行时间
"""
import time
from functools import wraps
def get_running_time(func):
# 使用wraps, 保证被装饰过的函数__name__的属性不变
@wraps(func)
def inner(*args, **kwargs):
start_time = time.time()
res = func(*args, **kwargs)
end_time = time.time()
print('the {} running time is {}'.format(func.__name__, (end_time - start_time)))
return res
return inner
@get_running_time
def run1000000():
lst = []
for i in range(1000000):
lst.append(i)
return lst
@get_running_time
def run1000000_2():
return [i for i in range(1000000)]
run1000000()
run1000000_2()
# 运行结果
# the run1000000 running time is 0.16900038719177246
# the run1000000_2 running time is 0.09100198745727539
最新文章
- 企业 SOA 设计(1)–ESB 设计
- Python 之作用域和名字空间
- tamper绕WAF详解
- css切背景图片(background-position)
- Eclipse设置注释模板
- CSS文字控制与文本控制
- Java最重要的21个技术点和知识点之JAVA基础
- servlet规范
- Finding Nemo(bfs)
- Hibernate写配置文件无提示信息解决
- Linux下设置SSH端口
- 【itchat】用Python玩耍微信
- 定义Sales_data类型
- 使用工具intellij idea 进行java web开发简介
- Spring再接触 生命周期
- 20165305 苏振龙《Java程序设计》第九周学习总结
- git学习——Git 基础要点【转】
- 内核态(Kernel Mode)与用户态(User Mode)
- 豆瓣电影api
- Jquery源码分析之匿名函数的自执行
热门文章
- mysql更改my.ini配置文件以后mysql服务无法启动
- LGP5992题解
- mysql or in union all 使用方法
- 从MyIE2平滑升级到Maxthon的完美方案
- turtle海龟库
- java案例—遍历字符串
- [SPDK/NVMe存储技术分析]009 - Introduction to RDMA Send | RDMA Send操作概论
- Linux安全加固手册
- 进制转换 Java day6
- J20航模遥控器开源项目系列教程(七)PPM输出 | 关于按键版本和旋转编码器版本的兼容说明、布局建议 | 关于MINI版PCB的兼容说明