在python中,双下划线是什么意思?

what does the double underscore __ mean in python?

本问题已经有最佳答案,请猛点这里访问。

在python中,双下划线表示什么?我记得读过一个教程,说它与隐藏变量有关,但我觉得除了这个以外,还有更多的东西,我一直看到有双下划线的代码示例,我不明白它的意思。


来自PEP 8:

  • __double_leading_underscore:在命名一个类属性时,调用名称管理(在类foobar内,__boo变为_FooBar__boo;见下文)。

  • __double_leading_and_trailing_underscore__:存在于用户控制的名称空间中的"magic"对象或属性。例如:__init____import____file__。不要编造这样的名字,只使用有记录的名字。