1、abc:前后无下划线表示该变量、函数、成员活方法是公用的,可以以任何形式访问。
2、_abc:前面单下划线表示半保护,被看作“protect”,只有类对象和子类对象自己能访问这些变量,模块或类外不能使用,不用使用 ‘from module import *’导入。
该方法是为了避免与子类的方法名称冲突,对于该标识符描述的方法,父类的方法不能轻易被子类方法覆盖,它的名字是_classname__methodname。
3、__abc:全私有,全保护,私有成员”private",只有类对象自己能访问,连子类对象也不能访问,更不能使用‘from module import *’导入。
4、__abc__:内建方法,不建议用户这样定义,这种双下划线的命名方式用于python里面的特殊方法
实践:
场合1:类中不同方法间调用不受影响
场合2:外部调用该类,无法看到protect/private属性的方法&变量
场合3:包导入场景,同场合2