Why does Python remap my attribute name?
本问题已经有最佳答案,请猛点这里访问。
如果我用python运行这个
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class Boo(object): def __init__(self, x): self._x = x self.__bingo = 3 self._info = {'x': x, 'y':42} def __dir__(self): return ['x'] @property def x(self): return self._x @property def z(self): return self._x+1 def __getattr__(self, key): return self._info[key] b = Boo(44) b.__dict__.keys() |
然后它打印出来
1 | ['_info', '_Boo__bingo', '_x'] |
为什么更名为
它与损坏有关,这是Python的解释器所做的。这是一篇关于它的文章。
https://shahriar.svbtle.com/underlines-in-python