Tengo un problema con la función timit para la optimización del código. Por ejemplo, puedo escribir funciones con parámetros en un archivo, vamos a llamarlo myfunctions.py
que contiene:Python Timeit y "nombre global ... no está definido"
def func1(X):
Y = X+1
return Y
y probar esta función en un segundo archivo test.py
en el que llama a la función de temporizador para poner a prueba el rendimiento del código (en obviamente más compleja problemas) que contienen:
import myfunctions
X0 = 1
t = Timer("Y0 = myfunctions.func1(X0)")
print Y0
print t.timeit()
el Y0
no se calcula, e incluso si comento print Y0
línea se produjo el error global name 'myfunctions' is not defined
.
Si se especifica la configuración con el comando
t = Timer("Y0 = myfunctions.func1(X0)","import myfunctions")
ahora se produjo el error global name 'X0' is not defined
.
¿Alguien sabe cómo solucionar esto? Muchas gracias.
Posible duplicado de [Obtener "nombre global 'foo' no está definido" con el tiempo de Python] (https://stackoverflow.com/questions/551797/getting-global-name-foo-is-not-defined-with -pythons-timeit) – sds