我的代碼無論好壞都與單字母變量(它是物理的東西,所以這些字母是有意義的)以及NumPy的,我經常與之交互。如何操作名稱與PDB命令衝突的變量?
當使用Python調試器時,偶爾我會想看看n
的值。但是,當我點擊n<enter>
時,這是PDB命令(n)ext
,它具有更高的優先級。 print n
適用於查看它,但我該如何設置它?
我的代碼無論好壞都與單字母變量(它是物理的東西,所以這些字母是有意義的)以及NumPy的,我經常與之交互。如何操作名稱與PDB命令衝突的變量?
當使用Python調試器時,偶爾我會想看看n
的值。但是,當我點擊n<enter>
時,這是PDB命令(n)ext
,它具有更高的優先級。 print n
適用於查看它,但我該如何設置它?
使用感嘆號!
聲明之前,有它運行:矯枉過正的
python -m pdb test.py
> /home/user/test.py(1)<module>()
-> print('foo')
(Pdb) !n = 77
(Pdb) !n
77
(Pdb) n
foo
> /home/user/test.py(2)<module>()
-> print('bar')
(Pdb)
Eric IDE,Wing IDE & Spyder提到了幾個都有值得一試的可視化調試器,因爲它們將命令的值顯示分開。
與通過控制檯進行調試相比,可視化調試器通常非常緩慢,而調試器幾乎沒有時間啓動調試器。 – Curious
@Curious它們開始較慢,但通常更適用於那些經驗有限的人。 –
您可以使用分號,所以只是把別的東西在它的前面:
ipdb> print n
2
ipdb> n
> 145 <some code here>
146
147
ipdb> 1; n=4
1
ipdb> print n
4
功能解決方法,但我相信'!'是經營者打算處理這種情況。 – dinosaur
你是對的...我建議改爲。 –
類,但有你試用'eval'? 'eval('n = 3')'?也許它有幫助:) –