这篇文章主要介绍python如何使用timeit时间模块,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
timeit() 函数有四个参数,每个参数都是关键字参数,都有默认值。
stmt:传入需要测试时间的代码,可以直接传入代码表达式或单个变量,也可以传入函数。传入函数时要在函数名后面加上小括号,让函数执行,如 stmt = ‘func()' 。
setup:传入 stmt 的运行环境,如 stmt 中使用到的参数、变量,要导入的模块等,如 setup = 'from __main__ import func'。可以写一行语句,也可以写多行语句,写多行语句时用分号隔开。
如果 stmt 和参数 setup 参数不传值,那么就失去了测试的意义,所以这两个参数是必要的。
timer: timer参数是当前操作系统的基本时间单位,默认会根据当前运行环境的操作系统自动获取(源码中已经定义),保持默认即可。
number:要测试的代码的运行次数,默认1000000(一百万)次,对于耗时的代码,运行太多次会花很多时间,可以自己修改运行次数。
repeat()函数有五个参数,每个参数都是关键字参数,都有默认值。参数含义与timer()相同
repeat:表示测试要重复几次,可以理解为将相同参数的 timeit() 函数重复执行。最终的结果构成一个列表返回,repeat 默认为3次。
计算小段代码执行速度的类,构造函数需要的参数有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时间模块”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。