我使用PyCharm Community Edition 3.4。
我已将self.__a
添加到手表。
这是我的例子:
class Box:
def __init__(self, a, b, c):
self.__a = a
self._b = b
self.c = c
d = 0 #Breakpoint.
a = Box(1, 2, 3)
所以,我开始调试并在断点处停止。 self.__a
观看会显示{AttributeError}'Box' object has no attribute 'a'.
我按 Alt + F8 并评估self.__a = a
。结果是None
。
然后我评估self.__a
,结果为1
。
我对self.__a
的监视仍显示{AttributeError}'Box' object has no attribute 'a'
。我删除它。然后我添加另一个手表self.__a
。它显示1
。
你能澄清一下这里发生了什么吗?
答案 0 :(得分:5)
这是因为box没有__a
它的名字被破坏了......
它变成了
Box._Box__a
如果您将其更改为观看
self._Box__a
它会显示正确的值
但它也应该出现在变量列表视图中(在调试运行面板的中央)