在本文中,我们将讨论五种下划线模式和命名约定,分别是:
- 单前导下划线:_var
- 单末尾下划线:var_
- 双前导下划线:__var
- 双前导和末尾下划线:__ var__
- 单下划线:_
1. 单前导下划线 _var
单个下划线是一个Python命名约定,表示这个名称是供内部使用的。
为了清楚起见,坚持常规导入更好。
2. 单末尾下划线:var_
单个末尾下划线(后缀)是一个约定,用来避免与Python关键字产生命名冲突。
3. 双前导下划线:__var
以两个下划线字符开头,表明名称修饰不是专门与类属性关联的。
它适用于在类上下文中使用的两个下划线字符开头的任何名称。
4. 双前导和末尾下划线:__ var__
如果一个名字同时以双下划线开始和结束,则不会应用名称修饰,该变量不会被Python解释器修改。
但是,Python保留了有双前导和双末尾下划线的名称,用于特殊用途。
这样的例子有,__ init__对象构造函数,或__call__ — 它使得一个对象可以被调用。
5. 单下划线:_
有时候,单个独立下划线是用作一个名字,来表示某个变量是临时的或无关紧要的。
例如,在循环中,我们不需要访问正在运行的索引,我们可以使用“_”来表示它只是一个临时值:
>>> for _ in range(100):
... print('Hello World')
除了用作临时变量之外,“_”是大多数Python REPL中的一个特殊变量,表示由解释器评估的最近一个表达式的结果。
这样很方便,比如可以在一个解释器会话中访问先前计算的结果,或者,你是在动态构建多个对象并与它们交互,无需事先给这些对象分配名字。