Jestem nowy w ipython i próbuję użyć ipython do debugowania mojego kodu. Zrobiłem:dostęp do zmiennych w sesji debugowania z ipython i% pdb na
[1]: %pdb
Automatic pdb calling has been turned ON
a następnie
In [2]: %run mycode.py
iw kodzie mam 1/0 więc podnosi wyjątek i automatycznie przechodzi w sesji debugowania.
ZeroDivisionError: float division
ipdb> variable
array([ 0.00704313, -1.34700666, -2.81474391])
Dzięki temu mogę uzyskać dostęp do zmiennych. Ale kiedy wykonać następujące czynności:
ipdb> b = variable
*** The specified object '= variable' is not a function or was not found along sys.path.
ale to działa:
ipdb> b = self.X
Czy istnieje sposób na przeciążenie tego polecenia? W mojej aplikacji nazwa zmiennej b występuje dużo naturalnie, a ból nie jest w stanie jej użyć. – joon
@joon: Posiadanie jednoliterowych nazw zmiennych ogólnie nie jest dobrą praktyką programowania. Może ten problem powinien zmotywować cię do zmiany nazwy zmiennej. Zdaję sobie sprawę, że może to być trudne. W takim przypadku możesz wypróbować 'exec 'b = variable''. – unutbu
Oczywiście. To tylko postać b jest naturalnym wyborem dla matematycznego odpowiednika. Dziękuję Ci! – joon