Python 用下划线作为变量前缀和后缀指定特殊变量/方法。
主要存在四种情形
1. object # public
2. __object__ # special, python system use, user should not define like it
3. __object # private (name mangling during runtime)
4. _object # obey python coding convention, consider it as private
核心风格:避免用下划线作为变量名的开始。
总结:
1 _object被看作是“私有 的”,在模块或类外不可以使用,不能用'from moduleimport *'导入
2 python有关private的描述,python中不存在protected的概念
3 "单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量
4 "双下划线" 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据
http://blog.youkuaiyun.com/pfm685757/article/details/45918575