为什么某些函数在函数名称前后都有下划线“ __”?

发布于 2021-01-29 15:00:16

这种“强调”似乎经常发生,我想知道这是否是Python语言中的要求,还是仅仅是一个约定问题?

另外,有人可以说出并解释哪些函数倾向于带有下划线,以及为什么(__init__例如)?

关注者
0
被浏览
97
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Python PEP 8-Python代码样式指南

    [描述性:命名样式](https://www.python.org/dev/peps/pep-0008/#descriptive-naming-

    styles)

    可以识别以下使用前划线或后划线的特殊形式(通常可以将它们与任何大小写惯例结合使用):

    • _single_leading_underscore:“内部使用”指示器较弱。例如from M import *,不导入名称以下划线开头的对象。

    • single_trailing_underscore_:按惯例用于避免与Python关键字发生冲突,例如

    Tkinter.Toplevel(master, class_='ClassName')

    * __double_leading_underscore:在命名类属性时,调用名称修饰(在类FooBar内部,__boo变为_FooBar__boo;见下文)。

    * __double_leading_and_trailing_underscore__:位于用户控制的名称空间中的“魔术”对象或属性。例如__init__
    __import____file__。请勿发明此类名称;仅按记录使用它们。

    请注意,带下划线和双下划线的名称本质上是为Python本身保留的:“切勿发明此类名称;仅按文档说明使用它们”。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看