gpt4 book ai didi

python - PyCharm 和调试私有(private)属性

转载 作者:太空狗 更新时间:2023-10-29 21:46:14 25 4
gpt4 key购买 nike

我使用 PyCharm Community Edition 3.4。

我已将 self.__a 添加到 Watches。

这是我的例子:

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 watch 显示 {AttributeError}'Box' 对象没有属性 'a'。

我按 Alt + F8 并评估 self.__a = a。结果是 None

然后我计算 self.__a,结果是 1

我对 self.__a 的监视仍然显示 {AttributeError}'Box' object has no attribute 'a'。我删除它。然后我添加另一个 watch self.__a。它显示 1

你能解释一下这是怎么回事吗?

最佳答案

是因为box没有__a

它的名字被破坏了......

另请参阅:Name_mangling#Python

变成了

Box._Box__a

如果你把它改成watch

self._Box__a 

它会告诉你正确的值

但它也应该显示在变量 ListView 中(在调试运行面板的中心)

关于python - PyCharm 和调试私有(private)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27536852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com