Получение «глобального имени 'foo' не определено» с помощью Python timeit

В Python 3 вы можете использовать python-shell globals=globals()

t = timeit.Timer("foo()", globals=globals())

Из documentation:

Другой вариант - передать timeit globals() в параметр globals, который вызовет py выполнение кода в вашем текущем scope глобальном пространство scope имен. Это может быть удобнее, чем variable-scope указывать импорт

python

scope

timeit

2022-10-20T12:08:20+00:00