02_python内置模块_timeit

时间:2023-12-17 19:48:44

timeit模块可以用来测试一小段python代码的执行速度。

(1)timeit.Timer(stmt='pass', setup='pass', timer=<timer function>)

Timer是测量小段代码执行速度的类。

stmt参数是要测试的代码语句(statement);

setup参数是运行代码时需要的设置;

timer参数是一个定时器函数,与平台无关。

注意:

<1>stmt 参数是字符串形式,如:‘test()1’

<2>setup参数,如果需要导入当前py文件的元素 如:‘from __main__ import test1’

(2)timeit.Timer.timeit(number=1000000)

Timer类中测试语句执行速度的对象方法。

number参数是测试代码的测试次数,默认是1000000次。

方法返回执行代码的平均耗时,一个float类型的秒数。

下面测试列表生成的两种方式执行代码的速度:

(1) li = li + [i]

(2) li += [i]

 from timeit import Timer

 def test1():
li = []
for i in range(0, 1000):
li = li + [i] def test2():
li = []
for i in range(1000):
li += [i] time1 = Timer('test1()', 'from __main__ import test1')
time2 = Timer('test2()', 'from __main__ import test2') print('test1:', time1.timeit(1000))
print('test2:', time2.timeit(1000))

运行结果:

test1: 1.861776927585273
test2: 0.09032533791547825