3

魔法の %%timeit 関数を使用して、コードの実行にかかる時間を取得しています。気になるのは、%%timeit を実行しても結果が得られないことです。たとえば、次のとおりです。

a=5
b=3

%%timeit
c = a + b

次のセルで c を使用したい場合、c が定義されていないことがわかります。

print(c)
>>>NameError: name 'c' is not defined

なぜこれが起こるのか、その特定のセルで魔法の %%timeit 関数が使用されているときに c が保存されないのはなぜですか?

4

2 に答える 2

2

セルモード:

%%timeit [-n<N> -r<R> [-t|-c] -q -p<P> -o] setup_code code code...

セル モードでは、最初の行のステートメントがセットアップ コードとして使用され (実行されますが、時間は計測されません)、セルの本体は時間計測されます。セル本体は、セットアップ コードで作成されたすべての変数にアクセスできます。

https://ipython.org/ipython-doc/3/interactive/magics.html#magic-timeit

セル モードで実行していて、その行はただのセットアップ コードです。つまり、実際には時間が計測されておらず、その結果はそれに続くセル コードからのみアクセスできます。

于 2016-03-07T11:38:39.853 に答える