Python 中會(huì)有函數(shù)或成員變量包含單下劃線前綴和結(jié)尾,和雙下劃線前綴結(jié)尾,區(qū)別是什么?
“單下劃線” 開始的成員變量叫做保護(hù)變量,意思是只有類對(duì)象和子類對(duì)象自己能訪問到這些變量; “雙下劃線” 開始的是私有成員,意思是只有類對(duì)象自己能訪問,連子類對(duì)象也不能訪問到這個(gè)數(shù)據(jù)。
以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的接口進(jìn)行訪問,不能用“from xxx import *”而導(dǎo)入;以雙下劃線開頭的(__foo)代表類的私有成員;
以雙下劃線開頭和結(jié)尾的(_foo)代表 Python 里特殊方法專用的標(biāo)識(shí),如 _init()代表類的構(gòu)造函數(shù)。
代碼示例