单下划线和双下划线在Python变量和方法名称中都各有其含义,有一些含义仅仅是用于命名规范,而有一些含义则是由Python解释器严格执行的。
在本文中,我将讨论以下五种下划线模式和命名约定,以及它们如何影响Python程序的行为:
单前导下划线:_var
单末尾下划线:var_
双前导下划线:__var
双前导和末尾下划线:__var__
单下划线:_
1.单前导下划线 _var
变量和方法名称的单前导下划线告知开发人员此变量和方法仅供内部使用,但这只是一种约定俗成的规范,非Python解释器强制执行,只是一个提示作用。
但是,单前导下划线的确会影响从模块中导入名称的方式,如*则不会导入。一般也应避免通配符导入。
2.单末尾下划线 var_
如果一个变量最合适的名称已经被一个关键字所占用,则可以用单末尾下划线来避免冲突。
3.双前导下划线 __var
双前导下划线一般用来命名类的属性(变量和方法),这会让Python解释器重写属性名称,以避免子类中的命名冲突,这也叫做名称修饰。
在类中,表示完全私有,外部无法访问。
4.双前导和双末尾下划线 _var_
双前导和双末尾下划线是Python保留的名称,用于特殊用途,如__init__对象构造函数,我们应避免此类命名。
5.单下划线 _
有时候单个独立下划线是用作一个名字,来表示某个变量是临时的或无关紧要的,很少用到。即这仅仅是一个有效的变量名称,会有这个用途而已。
除了用作临时变量之外,“_”是大多数Python交互中的一个特殊变量,表示最近一个表达式的结果。
说明:尽量避免用下划线作为变量名的开始。
原文:https://www.cnblogs.com/zlw-xyz/p/12809197.html