在python中,我们经常能看到很多变量名以_下划线开头,而且下划线的数量还不一样,那么这些变量的作用到底是什么?
变量名分类:
以数字、字母开头: 正常的公有变量名
a = 1
def aa():
pass
以单下划线开头: 半私有的变量名
_b = 2
def _bb():
pass
以双下划线开头: 私有变量名
__c = 3
def __cc():
pass
以双下划线开头,双下划线结尾: 内置属性名或者魔法方法名
__name__, __dir__
公有变量名:
以此类名称命名的对象,为公有对象,任何人都可以使用
半私有变量名:
以此类名称命名的对象,需要分为两种情况
1.类外
类外的半私有对象、私有对象,功能一致,均是在本模块中可以正常使用,但是不能被直接导入并调用
如果一定要在模块外使用,那么需要导入本模块,然后使用(模块名.变量名)进行调用
2.类中
类中的半私有对象,仅仅是概念上的私有,默认不要再类外进行调用
实际在类外,均可以使用(实例名.变量名/类名.变量名&#x