私はPython 3.6でJupyterノートブックを使用していました。簡単なテストのためにできるだけ簡単な方法でtimeit()
を使用したい場合、ほとんどの場合、セルの唯一の行として使用して関数呼び出しを入れると、次のように動作します。Jupyterノートブックのtimeit()の矛盾
timeit(raiseTo600(6623))
コマンドと同じセル内にコメントとしてそんなに入れた場合は、関数が呼び出されている理由ですが、前のセルに定義されているエラー、(同じセルをintそれを置くを取得しますエラーが発生します)。
この動作(動作する)でさえ、100%一貫していません。ランダムにエラーが発生し、それらをクリアするには、カーネルを再起動する必要があります。
timeit()
(引用符で囲まれた複数行のコード)内の複数の関数呼び出しを受け入れたオンラインの例を見てきました。私はコードにコメントを入れたいと思っていました。コメントと一緒にエラーが発生するので、timeitが認識されない、つまりimportステートメントを含めたエラーが修正されてしまうと思っていました。しかし、再び、このトリガーエラーを行うにしようとします。
コード:
from timeit import timeit
timeit(raiseTo600(6623))
出力:
ValueError: stmt is neither a string nor callable
は引用符でそれを置くことは、関数が前のセルで実行されていても、このエラーを生成していますうまく動作します。改訂コード:
from timeit import timeit
timeit('raiseTo600(6623)')
出力:
NameError: name 'raiseTo600' is not defined
これは、使用するのは簡単でなければなりません。ここで何がうまくいかないのですか?
私は複数の機能でこれをテストし、同じ症状を得て、完全を期すために、ここで私はtimeit()
が働いていなかった理由だけで振るために使用しようとしたシンプルなものがあるしている:
def raiseTo600(x):
return x**600