python中的双下划线__是啥意思? [复制]
Posted
技术标签:
【中文标题】python中的双下划线__是啥意思? [复制]【英文标题】:what does the double underscore __ mean in python? [duplicate]python中的双下划线__是什么意思? [复制] 【发布时间】:2013-10-13 13:22:52 【问题描述】:双下划线在python中表示什么?我记得读过一个教程,说它与隐藏变量有关,但我觉得还有更多内容,而且我不断看到带有双下划线的代码示例,我不明白它的含义。
【问题讨论】:
取决于使用双下划线的位置。 (__init__
?__name__
?)
我严格要求名称前的双下划线,而不是前后。
@donnaloia 那确实是重复的。
人们是否也将其标记为重复项?这似乎不公平。
不是我。事实上,我赞成这个问题:)
【参考方案1】:
来自PEP 8:
__double_leading_underscore
:命名类属性时,调用名称修改(在类 FooBar 中,__boo
变为 _FooBar__boo
;见下文)。
__double_leading_and_trailing_underscore__
:存在于用户控制的命名空间中的“神奇”对象或属性。例如。 __init__
、__import__
或 __file__
。永远不要发明这样的名字;仅按文档说明使用。
【讨论】:
很好的回复。但这解释得更好(也可以参考 PEP 8 风格指南):The meaning of a single- and a double-underscore before an object name in Python @paulsm4,奇怪的是,我已经对这个问题及其答案投了很多票。随着 SO 的增长,记住其中包含的所有有用信息变得越来越困难。以上是关于python中的双下划线__是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
__init__(self) 在 Python 中是啥意思? [复制]