1 以数字、字母开头: 正常的公有变量名
以此类名称命名的对象,为公有对象,任何人都可以使用
2 以单下划线开头: 半私有的变量名
a.类外
类外的半私有对象、私有对象,功能一致,均是在本模块中可以正常使用,但是不能被直接导入并调用
如果一定要在模块外使用,那么需要导入本模块,然后使用(模块名.变量名)进行调用
b.类中
类中的半私有对象,仅仅是概念上的私有,默认不要在类外进行调用
实际在类外,可以使用(实例名.变量名/类名.变量名)进行调用
3 以双下划线开头: 私有变量名
a.类外
此种情况下的对象,和半私有对象一样
b.类中
类中的私有对象,在类外均不能直接调用,可以理解为真私有,但是,python中没有完全私有的对象,此种对象也是可以在类外进行调用的,可通过 _类名+属性名或者类名 调用。
4 以双下划线开头,双下划线结尾: 内置属性名或者魔法方法名
原文:https://www.cnblogs.com/xinqian/p/11218585.html