%% timeit未返回定义的变量

Rad*_*ian 5 python ipython timeit

我正在尝试使用IPython magic命令%%timeit,但遇到了一些问题。我尝试计时的块未返回我在其中定义的变量。

具体来说,假设我想衡量将变量var设置为30需要多长时间。

%%timeit
var = 5 * 6
Run Code Online (Sandbox Code Playgroud)

运行此块,我得到类似的信息16.8 ns ± 0.303 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)。当我以后尝试调用var时,我得到了NameError: name 'var' is not defined

我发现了这个问题,但是,我不确定该如何处理。另外,这是从2014年开始的,因此我认为可能会有一些变化。

有没有一种方法可以“保留”在块中定义的变量,%%timeit以便以后可以调用它?

我正在使用Python 3.6,Anaconda 4.4.10。

use*_*737 4

只需使用%%time单元魔法(或%time线条魔法)

\n
%time var = 5 * 6\n# CPU times: user 2 \xc2\xb5s, sys: 0 ns, total: 2 \xc2\xb5s\n# Wall time: 3.81 \xc2\xb5s\n\nvar\n# Out: 30\n
Run Code Online (Sandbox Code Playgroud)\n

我猜变量不被记住的原因%timeit是它是一系列实验——实验时应该总是假设可能会出现问题,因此不清楚有效的变量实例化应该是什么。

\n

要查看执行什么样的重复运行%%timeit,请查看我的其他答案

\n