_x:私有化属性或方法,from xxx import * 禁止导入,类对象和子类可以导入。
但是可以通过
import xxx
xxx.xx
来访问。
__x:双下划线开始的属性在运行时被混淆,所以直接访问是不允许的(from+import和import都不允许)。实际上以双下划线开始的属性会在解释时在前面加上下划线和类名,如self.__num
会被解析为self._className__num。
********注意
python中的私有变量和私有方法仍然是可以访问的;访问方法如下:私有变量:实例._类名__变量名
私有方法:实例._类名__方法名()
__xx__:内置函数:python为自己做的专有函数。
xx_:用于避免与python关键字冲突。
其实python为伪私有化,仅仅是通过改变变量名来实现的。