使用time.time()适合简单计时,通过前后时间戳相减得耗时;timeit模块可进行高精度测试,执行多次取平均值更准确;装饰器方式能自动监控多个函数运行时间,提升代码复用性。

在 Python 开发中,计算函数运行时间常用的方法是使用 time 模块或 timeit 模块。选择哪种方式取决于你的需求:简单测试用 time.time(),精确测量建议用 timeit。
适用于快速查看函数执行耗时,代码简单直观。
import time <p>def my_function():</p><h1>模拟一些操作</h1><pre class='brush:python;toolbar:false;'>sum(i for i in range(100000))
start = time.time() my_function() end = time.time()
print(f"函数运行时间: {end - start:.4f} 秒")
说明: time.time() 返回当前时间的时间戳(单位:秒),通过前后相减得到间隔。适合一次性调用的场景。
用于需要更高精度的性能测试,尤其适合对比不同实现方式的效率。
发卡宝-卡密寄售系统
发卡宝是一个专业的软件卡密等虚拟商品在线交易平台,拥有多种兑换方式,费率低,结算快,正规企业平台一直稳定运营,24小时不间断提供自动发卡服务。【模板说明】试用版自带一套模板(响应式)【环境支持】PHP环境 / 200M或以上空间大小 / 开启父路径 / 设置index.php为默认首页 / 目录写入权限需要开启【数据库】MySQL【安装步骤】将文件上传至空间目录,运行“http://域名/inst
1
查看详情
import timeit <p>def my_function(): sum(i for i in range(100000))</p><h1>单次运行时间</h1><p>time_taken = timeit.timeit(my_function, number=1000) print(f"运行 1000 次平均耗时: {time_taken:.6f} 秒")</p>
说明: timeit.timeit(func, number=N) 会执行函数 N 次并返回总耗时,常用于排除系统波动影响,获得更稳定的结果。
如果多个函数都需要计时,可以封装成装饰器,提升代码复用性。
import time
from functools import wraps
<p>def timer(func):
@wraps(func)
def wrapper(*args, *<em>kwargs):
start = time.time()
result = func(</em>args, **kwargs)
end = time.time()
print(f"{func.<strong>name</strong>} 执行耗时: {end - start:.4f} 秒")
return result
return wrapper</p><p>@timer
def my_function():
sum(i for i in range(100000))</p><p>my_function() # 输出函数执行时间</p>说明: 装饰器方式无需修改原函数逻辑,只需添加 @timer 即可自动打印运行时间,适合开发调试阶段。
基本上就这些。日常调试用 time.time() 最快上手,做性能优化推荐 timeit,想批量监控函数可以用装饰器。不复杂但容易忽略细节,比如多次运行取平均值才更准确。
以上就是如何在python开发时计算函数运行时间?的详细内容,更多请关注其它相关文章!
相关文章:
Win11怎么开启卓越性能模式 Win11电源选项启用高性能释放硬件潜力【方法】
海棠电脑版入口_通过电脑访问海棠官网阅读
outlook中文官网入口地址 outlook官方中文版直达首页链接
c++如何实现一个简单的软件渲染器_c++从零开始的3D图形学
Windows 11怎么彻底关闭定位_Windows 11服务中禁用Geolocation
Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
Lar*el如何生成PDF或Excel文件_Lar*el文档导出工具与使用教程
Lar*el拼写容错搜索策略:基于语音编码的优化实践
蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源
126邮箱账号注册 电脑版登录入口
优化 Jest 模拟:强制未实现函数抛出错误以提升测试效率
深入理解字体排版:Adobe光学字偶距与CSS字偶距的差异与实现
拷贝漫画电脑版官网入口 拷贝漫画(PC版)在线直达
在哪找SublimeJ远程工具_SFTP插件配置教程
Shopware订单中获取产品自定义字段的实用指南
Win11怎么设置开机NumLock亮 Win11修改注册表InitialKeyboardIndicators值
C++如何解决segmentation fault_C++段错误调试与原因分析
TikTok网页版直接登录 TikTok网页端官方平台入口
谷歌邮箱网页版官方页面入口 谷歌邮箱网页端快速访问
包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址
Yandex免登录官网入口_俄罗斯Yandex搜索引擎直达链接
抖音网页版怎么|直播|_抖音网页版开播操作指南
护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?
谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】
随机参数递归函数的基准调用次数与时间复杂度探究
动漫花园资源网使用步骤_动漫花园资源网下载流程
React Hooks最佳实践:动态组件状态管理的组件化方案
Go语言HTML解析:利用Goquery精准获取指定元素内容
cad怎么合并重叠的线段_cad清理重复重叠线条的操作方法
在J*a中如何使用Stream.map转换元素_Stream映射操作解析
照顾宝贝2小游戏免费秒玩入口
Angular中单选按钮的正确使用与常见陷阱解析
印象笔记如何设离线包出差查阅_印象笔记设离线包出差查阅【离线阅读】
css绝对定位元素脱离父容器怎么办_确保父元素position非static
HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全
J*a如何实现并发下载文件_J*a多线程IO性能优化案例
J*aScript:在map操作中高效处理空数组
Angular Material 垂直步进器:实现底部到顶部排序的教程
Android Studio计算器C键逻辑错误排查与修复:条件判断优化指南
Python中高效且防溢出的双曲正弦计算:基于对数空间的优化策略
内存疯狂猛猛涨价:主板销量直接腰斩!
taptap防沉迷怎么解除 taptap解除健康系统限制说明【2025最新】
苹果手机指南针不准怎么校准 传感器校准方法详解【建议收藏】
PHP教程:将数据库查询结果动态展示到HTML Textarea的最佳实践
QQ邮箱登录官网首页 腾讯QQ邮箱网页入口
AO3最新入口2025公告_AO3中文官网合集
C++如何实现一个装饰器模式_C++设计模式之动态地给对象添加额外职责
狙击外星人小游戏开始_狙击外星人小游戏立即开始
PHP表单数据传递:如何通过隐藏输入字段获取动态ID