这是文化的。在Python中,你无需写入其他类的实例或类变量。在Java中,如果你真的想做的话,什么也不能阻止你做同样的事情-毕竟,你始终可以编辑类本身的源代码以达到相同的效果。Python放弃了这种安全性的幌子,并鼓励程序员负责。实际上,这非常好用。
如果出于某种原因要模拟私有变量,则始终可以使用PEP 8中的
__前缀。Python会像这样对变量的名称进行修饰,以使它们在包含它们的类之外的代码中不易被看到(尽管只要有足够的决心,你就可以解决它,就像你可以使用它来避开Java保护一样)。
__foo
按照相同的约定,即使没有从技术上阻止你这样做,
_前缀也意味着不要离开。你不会在其他类的看起来像
__foo或的变量上玩耍
_bar。



