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