python中的单下划线和双下划线_python 里面的单下划线与双下划线的区别(私有和保护)...
Python?用下劃線作為變量前綴和后綴指定特殊變量。
_xxx 不能用'from moduleimport *'導(dǎo)入
__xxx__ 系統(tǒng)定義名字
__xxx 類中的私有變量名
核心風(fēng)格:避免用下劃線作為變量名的開始。
因?yàn)橄聞澗€對(duì)解釋器有特殊的意義,而且是內(nèi)建標(biāo)識(shí)符所使用的符號(hào),我們建議程序員避免用下劃線作為變量名的開始。一般來講,變量名_xxx被看作是“私有 的”,在模塊或類外不可以使用。當(dāng)變量是私有的時(shí)候,用_xxx 來表示變量是很好的習(xí)慣。因?yàn)樽兞棵鸰_xxx__對(duì)Python 來說有特殊含義,對(duì)于普通的變量應(yīng)當(dāng)避免這種命名風(fēng)格。
"單下劃線" 開始的成員變量叫做保護(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ù)。
結(jié)論:
1、_xxx 不能用于’from module import *’ 以單下劃線開頭的表示的是protected類型的變量。即保護(hù)類型只能允許其本身與子類進(jìn)行訪問。
2、__xxx 雙下劃線的表示的是私有類型的變量。只能是允許這個(gè)類本身進(jìn)行訪問了。連子類也不可以
3、__xxx___ 定義的是特列方法。像__init__之類的
總結(jié)
以上是生活随笔為你收集整理的python中的单下划线和双下划线_python 里面的单下划线与双下划线的区别(私有和保护)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中modify是什么意思_p
- 下一篇: python重启程序代码_重启pytho