python中单下划线和双下划线的区别

一、python中双下划线(__str__)表明这个变量是特殊变量,是能够直接访问的

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

二、python前面双划线(__name)表明这个变量是私有变量

私有变量只有内部能够访问,外部不能访问。

双下划线开头的实例变量是否是必定不能从外部访问呢?其实也不是。不能直接访问__name是由于Python解释器对外把__name变量改为了_${classname}__name,因此,
仍然能够经过_${classname}__name来访问__name变量。可是强烈建议你不要这么干,由于不一样版本的Python解释器可能会把__name改为不一样的变量名

三、单下划线开头好比_name,则表示是口头实例私有变量,是可访问的,可是也不要随表访问。

_xxx 不能用于’from module import *’ 以单下划线开头的表示的是protected类型的变量。

即保护类型只能容许其自己与子类进行访问。
相关文章
相关标签/搜索