python中單下劃線和雙下劃線的區別

一、python中雙下劃線(__str__)表明這個變量是特殊變量,是能夠直接訪問的

__xxx___ 定義的是特列方法。像__init__之類的

二、python前面雙劃線(__name)表明這個變量是私有變量

私有變量只有內部能夠訪問,外部不能訪問。

雙下劃線開頭的實例變量是否是必定不能從外部訪問呢?其實也不是。不能直接訪問__name是由於Python解釋器對外把__name變量改爲了_${classname}__name,因此,
仍然能夠經過_${classname}__name來訪問__name變量。可是強烈建議你不要這麼幹,由於不一樣版本的Python解釋器可能會把__name改爲不一樣的變量名

三、單下劃線開頭好比_name,則表示是口頭實例私有變量,是可訪問的,可是也不要隨表訪問。

_xxx 不能用於’from module import *’ 以單下劃線開頭的表示的是protected類型的變量。

即保護類型只能容許其自己與子類進行訪問。
相關文章
相關標籤/搜索