python使用timeit时间模块_python

来源:脚本之家  责任编辑:小易  

1. timeit.timeit(stmt=‘pass', setup=‘pass', timer=<default timer>, number=default_number)

timeit() 函数有四个参数,每个参数都是关键字参数,都有默认值。 stmt:传入需要测试时间的代码,可以直接传入代码表达式或单个变量,也可以传入函数。传入函数时要在函数名后面加上小括号,让函数执行,如 stmt = ‘func()' 。 setup:传入 stmt 的运行环境,如 stmt 中使用到的参数、变量,要导入的模块等,如 setup = 'from __main__ import func'。可以写一行语句,也可以写多行语句,写多行语句时用分号隔开。 如果 stmt 和参数 setup 参数不传值,那么就失去了测试的意义,所以这两个参数是必要的。 timer: timer参数是当前操作系统的基本时间单位,默认会根据当前运行环境的操作系统自动获取(源码中已经定义),保持默认即可。 number:要测试的代码的运行次数,默认1000000(一百万)次,对于耗时的代码,运行太多次会花很多时间,可以自己修改运行次数。

2. timeit.repeat(stmt="pass", setup="pass", timer=default_timer, repeat=default_repeat, number=default_number)

repeat()函数有五个参数,每个参数都是关键字参数,都有默认值。参数含义与timer()相同 repeat:表示测试要重复几次,可以理解为将相同参数的 timeit() 函数重复执行。最终的结果构成一个列表返回,repeat 默认为3次。

3. class timeit.Timer(stmt=‘pass', setup=‘pass', timer=<timer function>)

计算小段代码执行速度的类,构造函数需要的参数有stmt,setup,timer。 前两个参数的默认值都是pass,timer默认会根据当前运行环境的操作系统自动获取;前两个参数都可以包含多个语句,多个语句间使用分号;或新行隔开
import timeit
def t1():
 li = [i for i in range(100000)]
def t2():
 li = []
 for i in range(100000):
  li += [i]
def t3():
 li = []
 for i in range(100000):
  li.append(i)
def t4():
 li = []
 list(range(100000))
def t5():
 li = []
 for i in range(100000):
  li.extend([i])
def t6():
 li = []
 for i in range(100000):
  li.insert(0,i)

# 方式1:timeit.timeit()
# list_t1 = timeit.timeit('t1()','from __main__ import t1',number=1)
# print("i for i in range(100000): %s" %(list_t1))

# 方式2:timeit.repeat()
# list_t2 = timeit.repeat('t2()','from __main__ import t2',repeat=1,number=1)
# print("li += i: %s" %(str(list_t2)))

# 方式3:timeit.Timer
# timer3 = timeit.Timer('t3()','from __main__ import t3')
# print("li.append(i): %s" %(timer3.timeit(number=1)))

# 直接传入字符串对象
# list_l4 = timeit.timeit('li = [i for i in range(1000)]',number=1)
# print(str(list_l4))

# 传入多个函数对象(;或空行分隔)
list_l5 = timeit.repeat('t4();t5();t6()','from __main__ import t4;from __main__ import t5;from __main__ import t6',repeat=1,number=1)
print(str(list_l5))

以上就是python使用timeit统计运行时间模块的详细内容,更多关于python使用timeit的资料请关注真格学网其它相关文章!

您可能感兴趣的文章:Python代码执行时间测量模块timeit用法解析

  • 本文相关:
  • python 序列的方法总结
  • python3实现点餐系统
  • python单例模式的两种实现方法
  • python获取网段内ping通ip的方法
  • python3 pygame实现接小球游戏
  • windows系统中python多版本与jupyter notebook使用虚拟环境的过程
  • python3 replace()函数使用方法
  • python处理文本文件实现生成指定格式文件的方法
  • python 实现12bit灰度图像映射到8bit显示的方法
  • python 实现调用子文件下的模块方法
  • 如何使用python timeit模块使用实践
  • python的timeit模块显示时间怎么那么长
  • python timeit怎么用
  • python怎么使用time模块计算时间
  • python中的time模块,如何获取当前时间并格
  • Python的time模块里时间元祖秒的值为什么是0-61?
  • python编程中time模块下的clock()函数怎么用?pr...
  • python 的time模块获取的是什么时间
  • python time模块在哪
  • python time模块通过time.strftime获取时间格式中...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页python代码执行时间测量模块timeit用法解析python 序列的方法总结python3实现点餐系统python单例模式的两种实现方法python获取网段内ping通ip的方法python3 pygame实现接小球游戏windows系统中python多版本与jupyter notebook使用虚拟环境的过程python3 replace()函数使用方法python处理文本文件实现生成指定格式文件的方法python 实现12bit灰度图像映射到8bit显示的方法python 实现调用子文件下的模块方法python入门教程 超详细1小时学会pycharm 2020最新永久激活码(附python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解python strip()函数 介绍pycharm 使用心得(一)安装和首pycharm 2020年最新激活码(亲测python 中文乱码问题深入分析python中使用xlrd、xlwt操作excepython使用正则表达式匹配字符串开头并打python使用requests及beautifulsoup构建爬python 图片验证码代码python自动扫雷实现方法在pycharm中安装pandas库方法(简单易懂)对python中dataframe选择某列值为xx的行实python pyg2plot的原理知识点总结浅谈python类里的__init__方法函数,pythopython tcp传输代码实例解析python高级编程之继承问题详解(super与mr
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved