当我们需要评估程序的性能时,可以使用 Python 的 timeit
模块来测量程序中特定部分的执行时间。下面是使用 timeit
模块的完整攻略:
1. 模块介绍
timeit
模块是标准库中的一部分,提供了一种简便的方式来测量 Python 程序代码的执行速度。timeit
模块会执行一些语句多次,并计算执行时间的平均值和标准差。
2. timeit()
函数
timeit()
函数用于测量代码的执行时间,它将在一个子进程中执行给定的 Python 语句,并返回执行时间的浮点数。
下面是 timeit()
函数的语法:
timeit.timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000, globals=None)
-
stmt
: 字符串类型,要执行的 Python 语句或语句块。 -
setup
:字符串类型,包含要执行stmt
之前需要导入和定义的 Python 语句或对象。 -
timer
:可选参数,用于计时的定时器函数,如果未指定则使用默认定时器。 -
number
:可选参数,执行代码的次数,默认为1000000。 -
globals
:可选参数,定义更改的全局变量字典,用于更改运行stmt
和setup
中代码的全局命名空间的字典。如果未指定,则默认为一个包含有效的全局变量的字典。
下面是一个简单的示例,测量两个数字相加的时间:
import timeit
code = """
a = 1
b = 2
c = a + b
"""
t = timeit.timeit(stmt=code, number=1000000)
print(t)
3. repeat()
函数
除了 timeit()
函数外,timeit
模块还提供了 repeat()
函数。repeat()
函数用于重复计算 timeit()
函数的执行时间。
下面是 repeat()
函数的语法:
timeit.repeat(stmt='pass', setup='pass', timer=<default timer>, repeat=5, number=1000000, globals=None)
-
stmt
: 字符串类型,要执行的 Python 语句或语句块。 -
setup
:字符串类型,包含要执行stmt
之前需要导入和定义的 Python 语句或对象。 -
timer
:可选参数,用于计时的定时器函数,如果未指定则使用默认定时器。 -
repeat
:可选参数,重复计算的次数,默认为5次。 -
number
:可选参数,执行代码的次数,默认为1000000。 -
globals
:可选参数,定义更改的全局变量字典,用于更改运行stmt
和setup
中代码的全局命名空间的字典。如果未指定,则默认为一个包含有效的全局变量的字典。
下面是一个示例,在循环中计算平均数的时间:
import timeit
code = """
import random
nums = [random.randint(1, 100) for _ in range(100)]
s = sum(nums) / len(nums)
"""
t = timeit.repeat(stmt=code, repeat=5, number=1000000)
print(t)
以上是关于 Python 使用 timeit
时间模块的完整攻略,希望能够帮助大家更好地进行 Python 编程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python使用timeit时间模块 - Python技术站