python中定义变量为啥要用下划线_关于python中带下划线的变量和函数 的意义
核心風(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ù)。
現(xiàn)在我們來總結(jié)下所有的系統(tǒng)定義屬性和方法, 先來看下保留屬性:
>>> Class1.__doc__ # 類型幫助信息 'Class1 Doc.'
>>> Class1.__name__ # 類型名稱 'Class1'
>>> Class1.__module__ # 類型所在模塊 '__main__'
>>> Class1.__bases__ # 類型所繼承的基類 (,)
>>> Class1.__dict__ # 類型字典,存儲(chǔ)所有類型成員信息。
>>> Class1().__class__ # 類型
>>> Class1().__module__ # 實(shí)例類型所在模塊 '__main__'
>>> Class1().__dict__ # 對(duì)象字典,存儲(chǔ)所有實(shí)例成員信息。 {'i': 1234}
接下來是保留方法,可以把保留方法分類:
總結(jié)
以上是生活随笔為你收集整理的python中定义变量为啥要用下划线_关于python中带下划线的变量和函数 的意义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive load data外部表报错_
- 下一篇: 从事python需要掌握哪些知识和技能_