我是ipython的新手,我嘗試使用ipython來調試我的代碼。我所做的:使用ipython和%pdb在調試會話中訪問變量
[1]: %pdb
Automatic pdb calling has been turned ON
然後
In [2]: %run mycode.py
,並在代碼中,我有1/0所以它拋出一個異常,並會自動進入調試會話。
ZeroDivisionError: float division
ipdb> variable
array([ 0.00704313, -1.34700666, -2.81474391])
所以我可以訪問變量。但是,當我做到以下幾點:
ipdb> b = variable
*** The specified object '= variable' is not a function or was not found along sys.path.
但這個工程:
ipdb> b = self.X
有什麼辦法重載這個B命令?在我的應用程序中,變量名b很自然地發生,並且它是一種無法使用它的痛苦。 – joon 2010-11-15 20:11:43
@joon:擁有一個字母的變量名通常不是一個好的編程習慣。也許這是問題應該激勵你改變變量名稱。我意識到這可能很難做到。在這種情況下,你可以嘗試'exec'b = variable''。 – unutbu 2010-11-15 20:39:18
當然。這只是字符b是數學對應物的自然選擇。謝謝! – joon 2010-11-16 21:38:30