|
发表于 2020-3-17 08:39:16
|
显示全部楼层
1.单前导下划线:_var
下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用。 该约定在PEP 8中有定义。但是,前导下划线的确会影响从模块中导入名称的方式。如果使用通配符从模块中导入所有名称,则Python不会导入带有前导下划线的名称。
2.单末尾下划线:var_
有时候,一个变量的最合适的名称已经被一个关键字所占用。总之,单个末尾下划线(后缀)是一个约定,用来避免与Python关键字产生命名冲突。 PEP 8解释了这个约定。
3.双前导下划线:__var
双下划线前缀会导致Python解释器重写属性名称,以避免子类中的命名冲突。
这也叫做名称修饰(name mangling) - 解释器更改变量的名称,以便在类被扩展的时候不容易产生冲突。
一般会装饰成私有的。
4.双前导和末尾下划线:__var__
由双下划线前缀和后缀包围的变量不会被Python解释器修改。
Python保留了有双前导和双末尾下划线的名称,用于特殊用途。 这样的例子有,__init__对象构造函数,或__call__ --- 它使得一个对象可以被调用。
这些dunder方法通常被称为神奇方法。
5.单下划线:_
按照习惯,有时候单个独立下划线是用作一个名字,来表示某个变量是临时的或无关紧要的 |
|