gpt4 book ai didi

python - 从 timeit 访问外部变量

转载 作者:太空宇宙 更新时间:2023-11-04 08:49:03 25 4
gpt4 key购买 nike

我想为一堆陈述计时。例如:

s = """\
for i in range (0,3):
for j in range (0,4):
if alpha_beta[i,j] == 0 and vect2[i] != 0.0 and alpha[j] == 1 :
print(i,j)
alpha_beta[i,j] = vect2[i]
"""
timeit.timeit(stmt=s, number=100)

但它会抛出错误:name 'alpha_beta' is not defined

变量 alpha_betavect2alpha 定义较早。我不能将它们包括在计时器中,因为那也会包括它们的初始化开销。

我是 Python 的新手,非常感谢修改我的代码的答案。

最佳答案

您可以在 setup 中导入它们:

timeit.timeit(stmt=s, setup='from __main__ import alpha_beta, vect2, alpha', number=100)

从 Python 3.5 开始 timeit.timeit也可以在提供的 globals 命名空间中执行代码。将其设置为 globals() 将使 stmt 能够访问模块命名空间中的名称:

timeit.timeit(stmt=s, number=100, globals=globals())

关于python - 从 timeit 访问外部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37352852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com