2014-07-12 166 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”。可变等值。

如果我需要先前的现有“自我”的值。在执行期间变量,然后我将它分配给方法开始的局部变量。

调试阶段完成后,您可以用适当的类属性替换当地人。

相关问题