私は以下の関数の時間を計っていますが、エラーが表示されますが、val_in_rangeという名前をインポートできません。エラーは何ですか?Timeit Timing a python function
import timeit
x = 10000000
def val_in_range(x, val):
return val in range(x)
print (val_in_range(x,x/2))
timeit.timeit('val_in_range(x,x/2)', 'from __main__ import val_in_range, x', number=10)
出力:
True
Traceback (most recent call last):
File "python", line 11, in <module>
File "<timeit-src>", line 3, in inner
ImportError: cannot import name 'val_in_range'
正確なコードをソースファイルに入れて(シバン、 '#!/ usr/bin/env python3'を追加して)、それを実行して正常に動作しました。これはあなたの本当のコードですか?私は比較のために、Linux上でPython 3.5を実行しています。 – ShadowRanger
ここで試してみてください - https://repl.it/DTwI、 – garg10may
そのリンクは私にとっては遅くなったり壊れたりしますが、私はここでオンライン通訳を使ってみません。スクリプトや通常のインタラクティブなインタプリタの標準的なPythonの動作と一致しないコードを実行するための奇妙なメカニズムを使用するかもしれません(例えば '__main__の範囲でコードを実行することはできません'、またはコードが完了するまでそこに設定されていない値を定義します。いずれかの場合は、テストケースが破られます)。 – ShadowRanger