也许这个问题看起来很简单,但我试图从ipdb中查看一些成员变量,我看不出如何。
示例:
class MyClass( object ):
def __init__( self, p ):
self.__p = p
pass # <--- breakpoint here!
我确定p是正确的。在调试器中,我输入:
ipdb> (self.__p)
我收到以下错误消息:
* * * AttributeError:'MyClass'对象没有属性'__p'
似乎 self 是类,而不是调试器的实例。
关于如何执行我的工作的任何想法?
我在Kubuntu 12.04 - 64位上的IPython 0.12.1上使用Python 2.7.3。
答案 0 :(得分:1)
请参阅here了解原因,这是Pythons拥有“私有”变量的方式。
答案 1 :(得分:0)
为了让我们了解@ dom_beau的评论,我会将其作为答案重新发布。
在 ipdb 中访问“私人”类成员的方法是:
ipdb> (self._MyClass__p)