Soy nuevo en ipython y estoy tratando de usar ipython para depurar mi código. Hice:acceder a variables en la sesión de depuración con ipython y% pdb en
[1]: %pdb
Automatic pdb calling has been turned ON
y luego
In [2]: %run mycode.py
y en el código, que tienen 1/0 por lo que plantea una excepción y se pasa automáticamente a la sesión de depuración.
ZeroDivisionError: float division
ipdb> variable
array([ 0.00704313, -1.34700666, -2.81474391])
Entonces puedo acceder a las variables. Pero cuando hago lo siguiente:
ipdb> b = variable
*** The specified object '= variable' is not a function or was not found along sys.path.
Pero esto funciona:
ipdb> b = self.X
¿Hay alguna manera de sobrecargar este comando b? En mi aplicación, el nombre de la variable b aparece mucho naturalmente, y es un dolor no poder usarlo. – joon
@joon: Tener nombres de variables de una letra generalmente no es una buena práctica de programación. Tal vez este es un problema que debería motivarte a cambiar el nombre de la variable. Me doy cuenta de que puede ser difícil de hacer. En ese caso, puede probar 'exec 'b = variable''. – unutbu
Por supuesto. Es solo que el carácter b es la elección natural para la contraparte matemática. ¡Gracias! – joon