2012-10-11 38 views
0

也許這個問題看起來很簡單,但我試圖從ipdb中查看一些成員變量,我看不到如何。訪問ipdb中的類成員

例子:

class MyClass(object): 
    def __init__(self, p): 
     self.__p = p 
     pass     # <--- breakpoint here! 

我相信p是正確的。在調試器中我輸入:

ipdb> (self.__p) 

,我得到了以下錯誤消息:

* * * AttributeError錯誤: 'MyClass的' 對象有沒有屬性 '__P'

似乎對於調試器,自我,而不是實例

有關如何執行我所做的任何想法?

我在Kubuntu 12.04 - 64位上的IPython 0.12.1上使用Python 2.7.3。

回答

1

查看here爲什麼,這是Pythons有「私人」變量的方式。

+1

你的權利!謝謝! ** ipdb>(self._MyClass__p)**給出正確的結果。 –

0

爲了讓@ dom_beau的評論可見,我重新發布了它的commnent作爲答案。

訪問 「私人」 類成員IPDB的方法是:

ipdb> (self._MyClass__p)