python標(biāo)識符命名規(guī)范原理解析
這篇文章主要介紹了python標(biāo)識符命名規(guī)范原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
簡單地理解,標(biāo)識符就是一個名字,就好像我們每個人都有屬于自己的名字,它的主要作用就是作為變量、函數(shù)、類、模塊以及其他對象的名稱。
Python 中標(biāo)識符的命名不是隨意的,而是要遵守一定的命令規(guī)則,比如說:
1.標(biāo)識符是由字符(A~Z 和 a~z)、下劃線和數(shù)字組成,但第一個字符不能是數(shù)字。
2.標(biāo)識符不能和 Python 中的保留字相同。有關(guān)保留字,后續(xù)章節(jié)會詳細(xì)介紹。
3.Python中的標(biāo)識符中,不能包含空格、@、% 以及 $ 等特殊字符。
例如,下面所列舉的標(biāo)識符是合法的:
UserID name mode12 user_age
以下命名的標(biāo)識符不合法:
4word #不能以數(shù)字開頭 try #try是保留字,不能作為標(biāo)識符 $money #不能包含特殊字符
4.在 Python 中,標(biāo)識符中的字母是嚴(yán)格區(qū)分大小寫的,也就是說,兩個同樣的單詞,如果大小格式不一樣,多代表的意義也是完全不同的。比如說,下面這 3 個變量之間,就是完全獨(dú)立、毫無關(guān)系的,它們彼此之間是相互獨(dú)立的個體。
number = 0 Number = 0 NUMBER = 0
5.Python 語言中,以下劃線開頭的標(biāo)識符有特殊含義,例如:
·以單下劃線開頭的標(biāo)識符(如 _width),表示不能直接訪問的類屬性,其無法通過 from...import* 的方式導(dǎo)入;
·以雙下劃線開頭的標(biāo)識符(如__add)表示類的私有成員;
·以雙下劃線作為開頭和結(jié)尾的標(biāo)識符(如 __init__),是專用標(biāo)識符。
因此,除非特定場景需要,應(yīng)避免使用以下劃線開頭的標(biāo)識符。
另外需要注意的是,Python 允許使用漢字作為標(biāo)識符,例如:
PHP中文網(wǎng) = http://php.cn
但我們應(yīng)盡量避免使用漢字作為標(biāo)識符,這會避免遇到很多奇葩的錯誤。
標(biāo)識符的命名,除了要遵守以上這幾條規(guī)則外,不同場景中的標(biāo)識符,其名稱也有一定的規(guī)范可循,例如:
·當(dāng)標(biāo)識符用作模塊名時,應(yīng)盡量短小,并且全部使用小寫字母,可以使用下劃線分割多個字母,例如 game_mian、game_register 等。
·當(dāng)標(biāo)識符用作包的名稱時,應(yīng)盡量短小,也全部使用小寫字母,不推薦使用下劃線,例如 com.mr、com.mr.book 等。
·當(dāng)標(biāo)識符用作類名時,應(yīng)采用單詞首字母大寫的形式。例如,定義一個圖書類,可以命名為 Book。
·模塊內(nèi)部的類名,可以采用 "下劃線+首字母大寫" 的形式,如 _Book;
·函數(shù)名、類中的屬性名和方法名,應(yīng)全部使用小寫字母,多個單詞之間可以用下劃線分割;
·常量命名應(yīng)全部使用大寫字母,單詞之間可以用下劃線分割;
有讀者可能會問,如果不遵守這些規(guī)范,會怎么樣呢?答案是程序照樣可以運(yùn)行,但遵循以上規(guī)范的好處是,可以更加直觀地了解代碼所代表的含義,以 Book 類為例,我們可以很容易就猜到此類與書有關(guān),雖然將類名改為 a(或其它)不會影響程序運(yùn)行,但通常不這么做。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python+Pytest實(shí)現(xiàn)壓力測試詳解
在現(xiàn)代Web應(yīng)用程序中,性能是至關(guān)重要的。為了確保應(yīng)用程序能夠在高負(fù)載下正常運(yùn)行,我們需要進(jìn)行性能測試。本文就來用Pytest進(jìn)行壓力測試,希望對大家有所幫助2023-03-03Python調(diào)用C語言開發(fā)的共享庫方法實(shí)例
這篇文章主要介紹了Python調(diào)用C語言開發(fā)的共享庫方法實(shí)例,本文同時給出了C語言和Python調(diào)用簡單實(shí)例,需要的朋友可以參考下2015-03-03python實(shí)現(xiàn)RabbitMQ的消息隊(duì)列的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)RabbitMQ的消息隊(duì)列的示例代碼,總結(jié)了RabbitMQ中三種exchange模式的實(shí)現(xiàn),分別是fanout, direct和topic。感興趣的小伙伴們可以參考一下2018-11-11Python如何把Spark數(shù)據(jù)寫入ElasticSearch
這篇文章主要介紹了Python如何把Spark數(shù)據(jù)寫入ElasticSearch,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04基于python requests庫中的代理實(shí)例講解
今天小編就為大家分享一篇基于python requests庫中的代理實(shí)例講解,具有很好的參考價(jià)值。希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05