Python timeit 模块详解

精准测量小段 Python 代码的执行时间

什么是 timeit?

timeit 是 Python 标准库中的一个模块,专门用于测量小段代码的执行时间。 它通过多次运行代码并取平均值,以减少系统波动对结果的影响,从而提供更准确的性能数据。

提示:timeit 默认会禁用垃圾回收(garbage collection),以避免其对计时造成干扰。

基本用法

你可以通过命令行或在 Python 脚本中使用 timeit

1. 命令行使用

python -m timeit "'-'.join(str(n) for n in range(100))"

2. 在 Python 脚本中使用

import timeit

# 测量一段表达式的执行时间
time_taken = timeit.timeit(
    stmt="'-'.join(str(n) for n in range(100))",
    number=10000
)
print(f"耗时: {time_taken:.6f} 秒")

高级用法:setup 与函数

当需要导入模块或定义函数时,可使用 setup 参数:

import timeit

def test_function():
    return '-'.join(map(str, range(100)))

# 使用 setup 导入函数
time_taken = timeit.timeit(
    stmt='test_function()',
    setup='from __main__ import test_function',
    number=10000
)
print(f"函数执行耗时: {time_taken:.6f} 秒")

使用 Timer 类

对于更复杂的场景,可以使用 timeit.Timer 类:

import timeit

timer = timeit.Timer(
    stmt="[x**2 for x in range(100)]",
    setup=""
)
print(timer.timeit(number=10000))  # 执行 10000 次并返回总时间

常见用途

注意事项

抗血管生成(Anti-Angiogenesis)——癌症治疗新策略 SHEIN最新消息-全球时尚快讯、新品发布与品牌动态 始祖鸟 Incendo Hoody 防风连帽夹克-轻量透气 高性能户外装备 Something 所有变形-全面解析与创意展示 Pioneer 手机-创新科技,引领未来 SHEIN人员规模-公司团队与全球布局介绍 Python Web服务器入门指南-快速搭建你的第一个Web服务 Senior-Meaning, Usage & Examples in English Python 中的 property 详解-属性管理与装饰器用法 Hearing That You Are Going To – A Journey of Anticipation iPhone Air 参数详解|全新轻薄旗舰智能手机 Shopee是什么意思?全面解析东南亚电商平台Shopee 港版iPhone和大陆版有啥区别?全面对比指南 Endorphins是什么品牌?——潮流运动服饰新锐品牌介绍 iPhone银色是白色吗?全面解析苹果银色配色真相 在线 Python 编译器-即时运行 Python 代码|免费工具 Pioneer怎么调出电视?详细操作指南|音响电视连接教程 iPhone 11 是双卡吗?全面解析双卡双待功能-苹果手机指南 Python string 模块详解-常用函数与实用示例 Explanation词性转换详解|英语语法学习专题 You Should Be Nice-传递善意,温暖世界 NS Online-任天堂Switch在线服务与游戏社区 Pioneer蓝牙连不上手机?常见原因与解决方法大全 Shopee中文7LONGWEN-东南亚领先的电商平台 淘宝 iPhone 17 发货时间查询-最新上市信息与购买指南 pioneer怎么读音发音-英语单词发音指南 PythonSpider 是干嘛用的?网络爬虫入门指南 iPhone 17 橙色寓意解析:活力、创新与未来科技的象征 iPhone过海关要拆封吗?2026最新政策与实用指南 iPhone 卫星通信功能详解|紧急情况下的生命线 用 Python 编写 Web 界面:入门指南与实用框架 NS无法登录eShop?常见原因与解决方法汇总-任天堂Switch故障排查指南 Python语言入门与应用-高效、简洁、强大的编程语言 iPhone美版、日版与国行区别详解|全面对比指南 Python Tkinter 详解-快速入门与实战指南 日版 iPhone 17 价格预测与购买指南-最新资讯与优惠信息 iPhone有粉色吗?全面解析苹果手机的粉色机型-专题页面 宝可梦手机版专题-探索口袋妖怪的掌上世界 Python中sep参数详解-print()函数的分隔符用法 Shein总部介绍-全球快时尚电商领导者 血管生成(Angiogenesis):机制、研究与医学应用 Python中strip()方法详解-字符串去空格与字符清理 lithosphere怎么读?发音、释义与地质知识详解 Python下载pip包-快速安装与使用指南 eshop手机App-一站式购物体验,尽在指尖 iPhone 镜头焦段详解-各代 iPhone 摄像头等效焦距与用途指南 香港买iPhone攻略|最新价格、购买渠道与避坑指南 Python中sep参数怎么用?详解print函数的sep用法 Python Web开发入门指南-构建高效Web应用的最佳实践 Python datetime 库详解-时间与日期处理利器 Monchhichi怎么读?发音、含义与文化介绍-萌趣指南 Python 中的 sep 参数详解-print() 函数分隔符用法指南 Python while 循环详解-初学者入门指南 Perception近义词大全-感知、洞察与理解的同义表达 探索“Something”:未知中的无限可能 Switch打不开eShop?常见原因与解决方法汇总 iPhone 15价格一览表-最新78TP与电商平台报价对比 Python 堆(Heap)详解-数据结构与heapq模块使用指南 Python的IDLE怎么用?新手入门指南|Python IDLE使用教程 Python怎么安装pip包-完整指南 int在Python中的含义与用法详解 Pioneer车机7LONGWEN-智能车载娱乐系统领导者 Shopee中文意思是什么?全面解析东南亚电商巨头 eshop价格查询-最新任天堂eShop游戏价格与优惠信息 Shopee买家中心-管理订单、查看物流、享受购物优惠 Nice To Do-发现生活中的美好小事 Python中pip的作用-包管理工具详解 Python没有pip命令?原因与解决方法全解析 港服 Nintendo eShop 官網-遊戲、特惠與最新資訊 iPhone 17 有几个颜色?最新配色全解析-科技前沿资讯 中国人喜欢烧烤吗?揭秘中国烧烤文化与流行趋势 Python IDE有哪些?主流Python集成开发环境推荐 Shein天眼查-公司信息、工商数据与企业背景查询 iPhone 14 欧美版区别详解|功能、频段、型号对比 IronPython 入门指南-.NET 平台上的 Python 实现 Alteration:变化与重塑的艺术 Pioneer先锋液晶电视-高清画质,沉浸体验 SHEIN收入分析:2026年最新财报与增长趋势 iPhone 78TP網站-台灣|Apple 内啡肽至上|Endorphins Over Everything Shopee图片空间-高效管理商品图片的78TP工具 Pioneer固定搭配大全-常见短语与用法详解 iPhone 17最便宜价格抢先看-最新优惠与购买指南 Switch Online App 安卓版-在安卓设备上畅玩任天堂Switch在线游戏 大象的隐喻:智慧、记忆与力量的象征 Plgeon自行车-轻盈、智能、环保的城市骑行新选择 Python中IDLE怎么执行代码-新手入门指南 Python 中 int 的用法详解-入门到精通 ECShop7LONGWEN-开源电商系统首选|免费、灵活、可扩展 Python ctypes 模块详解-调用C语言库的桥梁 iPhone首发会提前发货吗?最新消息与用户指南 Switcheshop怎么进?完整访问指南与常见问题解答 iPhone Air价格|最新报价、配置与购买指南 iPhone Air 参数详解-全新超轻薄旗舰体验 Champion 反标志:品牌符号的解构与再思考 先锋(Pioneer)——探索、创新与引领的精神 int在Python中代表什么?整数类型详解|Python基础教程 The Centipede – Fascinating Facts, Habitat & Behavior Python 7LONGWEN网址-快速访问 Python.org 78TP网站 Prosenic老款APP下载与使用指南-经典智能家电控制应用