Python timeit 模块用法详解

快速、准确地测量小段 Python 代码的执行时间

什么是 timeit

timeit 是 Python 标准库中的一个模块,专为精确测量小段代码的执行时间而设计。 它通过多次运行代码并取平均值,有效避免系统调度、垃圾回收等干扰因素,是性能调优的好帮手。

基本用法示例

使用 timeit.timeit() 测量一段代码的执行时间:

import timeit

# 测量列表推导式的执行时间
stmt = '[x**2 for x in range(100)]'
time_taken = timeit.timeit(stmt, number=10000)
print(f"执行时间: {time_taken:.6f} 秒")

对比两种写法的性能

import timeit

# 方法1:使用 for 循环
def method1():
    result = []
    for i in range(100):
        result.append(i**2)
    return result

# 方法2:使用列表推导式
def method2():
    return [i**2 for i in range(100)]

t1 = timeit.timeit(method1, number=10000)
t2 = timeit.timeit(method2, number=10000)

print(f"for 循环: {t1:.6f} 秒")
print(f"列表推导: {t2:.6f} 秒")

命令行使用方式

你也可以直接在终端中使用 timeit 模块:

python -m timeit "[x**2 for x in range(100)]"

这会自动运行多次并输出最佳执行时间。

注意事项

使用 setup 参数

import timeit

setup_code = "import math"
test_code = "math.sqrt(100)"

time_taken = timeit.timeit(stmt=test_code, setup=setup_code, number=100000)
print(f"带 setup 的执行时间: {time_taken:.6f} 秒")

总结

timeit 是 Python 中轻量、精准的性能测试工具,特别适合比较不同实现方式的效率。 掌握它,能让你写出更高效的 Python 代码!

更多详情请参考:78TP文档

iPhone Air价格|最新报价、配置与购买指南 Python下载pip包-快速安装与使用指南 Endorphio的隐喻与寓意|探索内在喜悦的象征意义 台湾版 iPhone 17 与大陆版区别详解|功能、价格、网络支持对比 Python property() 函数详解-面向对象编程中的属性管理 Python tkinter 入门指南-快速构建图形用户界面 Shein总部介绍-全球快时尚电商领导者 Python中bytes类型详解-字节操作入门指南 国行iPhone能用eSIM吗?全面解析2026最新情况 Proscenic 智能家居|高效清洁,智慧生活 iPhone会不会提前发货?最新发货时间解析|专题页面 大象的隐喻:智慧、记忆与力量的象征 It Is Wise to Do Something-智慧行动指南 pofenne珀芬尼-自然灵感的高端护肤品牌 SHEIN数据分析:洞察快时尚电商趋势与用户行为 iPhone 17 韩版和国版区别详解|最新对比指南 Python强制转换为int详解-类型转换指南 Venchi 巧克力-意大利百年奢华手工巧克力品牌 Look at That Elephant – 探索大象的奇妙世界 Senior是大几?大学年级术语全解析 Pioneer功放说明书-78TP用户手册与操作指南 Python Shapely 库入门与应用指南 Python shape函数详解-NumPy数组形状操作指南 Pixelmon指令大全-Minecraft像素精灵模组常用命令速查 香港iPhone抢购攻略|最新iPhone发售时间、渠道与技巧 Python deque 函数详解-高效双端队列操作指南 iPhone卫星通信在中国能用吗?全面解析与使用指南 Python字符串函数详解-常用方法与示例 Python Spyder 专题页-强大的科学计算IDE iPhone 第一代发布时间-历史上的科技里程碑 iPhone序列号J开头代表哪里生产?全面解析苹果产地编码 pioneer什么意思中文-先驱者、开拓者详解 美版iPhone在哪里生产?全面解析苹果手机制造地 港版iPhone可以在大陆售后吗?全面解析2026最新政策 To Something:探索无限可能的旅程 Python编程入门与实战指南-零基础学Python “Something”的读音、含义与用法详解-英语学习专题 You Are Nothing To Me-情感专题页面 Python SEP:标准库、生态与实践指南 Python timeit 函数详解-高效性能测试工具 宝可梦剑盾与Pokémon HOME专题-宝可梦联动指南 台湾版iPhone与国行iPhone区别详解-购机指南 iPhone历代型号大全|从初代到最新款全面回顾 iPhone 17哪里生产?全面解析苹果最新机型制造地 expedition怎么读-发音、释义与例句详解 Python while循环详解与实用示例|编程入门指南 Champion的用法详解-英语词汇学习专题 ShopEx-专业开源电商系统解决方案 食欲不振怎么办?原因、调理与改善建议-健康专题 iPhone 17 发布与销售时间预测|最新消息汇总 Python编辑指南-入门、工具与最佳实践 You’re Nothing – 探索存在与虚无的边界 Shopee商家版-轻松开店,高效经营东南亚电商 Python自带pip吗?全面解析Python与pip的关系 iPhone 14 欧美版区别详解|功能、频段、型号对比 安装了 Python 却没有 pip?快速解决方法汇总 Pioneer是什么牌子电视?先锋电视品牌介绍与选购指南 When Come To:探索语言中的地道表达 Python 中 heapq 怎么读?详解与使用指南 NS eShop进不去?常见原因与解决方法汇总-任天堂eShop访问指南 iPhone历年型号大全|从初代到最新款全解析 Pretentiously:探索矫饰背后的趣味与反思 Nintendo下载-78TP游戏、应用与资源下载中心 OpenCV-Python 入门指南与实战示例|计算机视觉开发 Pretentious原型-探索设计与概念的边界 SHEIN估值分析-快时尚巨头的商业价值与未来前景 Python3 Queue 详解:队列模块使用指南与实战示例 The Onion-讽刺新闻的权威来源 台湾iPhone是否分国行?详解国行、台版与水货区别 善待他人:让世界更温暖-Be Nice on Someone The Chainsmokers-电子音乐双人组合|78TP风格专题页 Champion牌子怎么样?全面评测与品牌历史介绍 Switch无法登录eShop?常见原因与解决方法汇总|任天堂故障指南 Moncheri的隐喻意义:探索名字背后的象征与文化内涵 大陆怎么买港版iPhone?全攻略指南-省钱又靠谱 Python 时间处理完全指南-datetime、time 模块详解 他对我真的很好-温暖人心的日常故事 Shopee 2026秋季校园招聘-加入我们,共创电商未来 Pigeon是什么牌子?品牌介绍、产品特点与用户评价 “complainment”存在吗?——英语词汇探秘专题页 鸽巢原理(抽屉原理)详解与应用-数学基础专题 TikTok Shop 入驻指南与运营攻略-一站式跨境电商新平台 iPhone 17 Pro 颜色选择-78TP配色一览 “Senior High”怎么读?发音、含义与用法详解 Python pip 安装教程-从零开始安装与使用 pip “potential”可以加s吗?英语用法详解-语言小课堂 深入理解 Python @property 装饰器|面向对象编程技巧 Shopee Singapore – Shop Online for Deals & Free Shipping Python中input()函数的用法详解-入门到实践 Exploit 名词详解-含义、用法与实例 Pioneer DJ-专业DJ设备与音乐创作先锋 自信的力量|培养自信,成就更好的自己 Shine电商公司-引领未来购物体验 Python字符串转整数(int)方法详解-完整指南 Python 的正确发音-“派森”还是“派吞”? Switch无法连接eShop?常见原因与解决方法汇总 内啡肽(Endorphin)详解:身体的天然止痛剂与快乐激素 iPhone 11 Pro 双卡怎么放?详细图文教程-苹果双卡设置指南 iPhone Air 电池容量是多少毫安?全面解析与对比 Pinion P1.18速变速箱-高性能机械传动解决方案