Я пытаюсь выполнить функцию ниже, однако она показывает мне ошибку, не может импортировать имя 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'
Я установил этот точный код в исходный файл (добавив shebang, '#!/Usr/bin/env python3') и запустил его, и он прошел нормально. Это ваш настоящий код? Для сравнения я использую Python 3.5 для Linux. – ShadowRanger
попробуйте здесь - https://repl.it/DTwI, – garg10may
Эта ссылка для меня слишком медленная или сломанная, но независимо от того, я бы не стал использовать онлайн-переводчики здесь; они могут использовать странные механизмы для выполнения кода (например, через 'eval' /' exec'), которые не соответствуют стандартным поведениям Python для сценариев или обычного интерактивного интерпретатора (например, код может не выполняться в области '__main__ 'или значения, которые он определяет, не установлены там до тех пор, пока код не завершится, ни один из которых не сломает ваш тестовый пример). – ShadowRanger