Python中的下划线可以分为单下划线"_ "和双下划线 “__”。与变量和函数名称有一下几种组合:
- 在名称前面:_name和__name
- 在名称后面: name_和name__
- 前后都有: name 和 __ name __
- 不和名称结合:_
在名称前面
单下划线
单下划线在名称前面只是约定俗成的使用方式,用来说明该变量或者函数只是内部使用。但这不是python解释器强制的,只是对代码使用者或者阅读者的提示。
需要注意的一点,如果函数,方法,类的名称使用单下划线开头,使用import *引入该模块的时候是不能够被引入的
双下划线
双下划线就厉害了。通过dir可以看到以双下划线开头的名字会被修改,前面添加了类的名称。
双下划线会使解释器修改名称,用来避免子类的命名冲突。它可以当做类里面的私有变量或者函数来使用。但并不是严格的私有方法,通过修改后的名称仍然可以访问。
class MyTest():
def __init__(self):
self.aa = 1
self.__aa = 2
def __ss(self)