信息发布→ 登录 注册 退出

如何在python开发时计算函数运行时间?

发布时间:2025-11-27

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

如何在python开发时计算函数运行时间?

在 Python 开发中,计算函数运行时间常用的方法是使用 time 模块或 timeit 模块。选择哪种方式取决于你的需求:简单测试用 time.time(),精确测量建议用 timeit

使用 time 模块粗略计时

适用于快速查看函数执行耗时,代码简单直观。

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() 返回当前时间的时间戳(单位:秒),通过前后相减得到间隔。适合一次性调用的场景。

使用 timeit 模块进行精准测试

用于需要更高精度的性能测试,尤其适合对比不同实现方式的效率。

发卡宝-卡密寄售系统 发卡宝-卡密寄售系统

发卡宝是一个专业的软件卡密等虚拟商品在线交易平台,拥有多种兑换方式,费率低,结算快,正规企业平台一直稳定运营,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 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!