【python】单下划线与双下划线的区别

时间:2022-05-27 01:05:59

Python 用下划线作为变量前缀和后缀指定特殊变量。

_xxx 不能用'from moduleimport *'导入
__xxx__ 系统定义名字
__xxx 类中的私有变量名

以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import
*”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如
__init__()代表类的构造函数。

结论:

1、_xxx 不能用于’from module import *’ 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。

2、__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也不可以

3、__xxx___ 定义的是特列方法。像__init__之类的