Je suis nouveau sur ipython et j'essaie d'utiliser ipython pour déboguer mon code. Je l'ai fait:accéder aux variables dans la session de débogage avec ipython et% pdb sur
[1]: %pdb
Automatic pdb calling has been turned ON
puis
In [2]: %run mycode.py
et dans le code, j'ai 1/0 il déclenche une exception et sera passe automatiquement en la session de débogage.
ZeroDivisionError: float division
ipdb> variable
array([ 0.00704313, -1.34700666, -2.81474391])
Donc je peux accéder aux variables. Mais quand je fais ce qui suit:
ipdb> b = variable
*** The specified object '= variable' is not a function or was not found along sys.path.
Mais cela fonctionne:
ipdb> b = self.X
Y at-il un moyen de surcharger cette commande b? Dans mon application, le nom de la variable b se produit beaucoup naturellement, et c'est une douleur de ne pas pouvoir l'utiliser. – joon
@joon: Avoir des noms de variable à une lettre n'est généralement pas une bonne pratique de programmation. Peut-être que ce problème devrait vous motiver à changer le nom de la variable. Je réalise que cela peut être difficile à faire. Dans ce cas, vous pouvez essayer 'exec 'b = variable''. – unutbu
Bien sûr. C'est juste le caractère b est le choix naturel pour la contrepartie mathématique. Je vous remercie! – joon