2014-07-12 164 views
4

我正在使用Spyder v2.2.5 IDE編程python。在spyder中使用pdb調試我的python代碼時,IDE不會在Variable Explorer中顯示類實例變量。每次使用print語句檢查變量值變得越來越困難。 有沒有辦法在調試過程中檢查類實例變量值?Spyder在調試期間不會在變量資源管理器中顯示類實例變量python

+0

有關信息,請在此處報告此問題:https://code.google.com/p/spyderlib/issues/detail?id=1887 –

回答

1

我知道這是一箇舊帖子,但我找到了一個臨時解決方案。每個類對象都有一個與其相關的字典,其中包含分配的變量。這有點煩人,但是您可以指定一個全局變量,使其等於可以在Spyder的變量瀏覽器中查看的字典。

import numpy as np 
class someClass: 
    def __init__(self): 
     self.var1=10  #integer type 
     self.var2=np.ones((3,3,3)) #numpy array type 
     self.var3=[np.ones((2,2,4))*i for i in range(5)] #list type (of numpy arrays) 

b=someClass() 
tempdict=b.__dict__ #Then look at this variable under the Variable explorer 

您將需要每次更改任何變量的時間來更新tempdict,但這會工作。

1

作爲一個臨時解決方案,直到他們解決這個問題,我在方法內部使用局部變量,直到調試結束。使用相同的名字,但沒有「自我」。在它前面。

就在return語句之前,我將局部變量賦值給「self」。可變等值。

如果我需要先前的現有「自我」的值。在執行期間變量,然後我將它分配給方法開始的局部變量。

調試階段完成後,您可以用適當的類屬性替換當地人。

相關問題