Python 命名規(guī)范與最佳實(shí)踐
1. 規(guī)范
1.變量名區(qū)分大小寫(xiě);
2.嚴(yán)禁使用關(guān)鍵字作為變量名;
3.確定自己的命名風(fēng)格,不可隨意變換;
4.命名應(yīng)該科學(xué)嚴(yán)謹(jǐn),切勿太長(zhǎng)或者表達(dá)比較模糊;
5.命名中若使用特殊約定或縮寫(xiě),則要有注釋說(shuō)明;
6.盡量不要使用中文字符和純數(shù)學(xué)字符,避免編碼錯(cuò)誤;
7.名字由英文字母、數(shù)字、下劃線組成,如abc,abc13和_abc等;
8.要清晰、明了,有明確含義,同時(shí)使用完整的單詞或大家基本可以理解的縮寫(xiě);
9.同一軟件產(chǎn)品內(nèi),應(yīng)規(guī)劃好接口部分(變量、結(jié)構(gòu)、函數(shù)及常量)的命名,防止編譯、鏈接時(shí)產(chǎn)生沖突。
2. 參考
類型 | 公有/外部成員 | 私有/內(nèi)部成員 |
---|---|---|
模塊(module) | my_naming_convention | _my_naming_convention |
包(package) | my_naming_convention | |
類(class) | MyNamingConvention | _MyNamingConvention |
異常(Exception) | MyNamingConvention | |
函數(shù)(function) | my_naming_convention() | _my_naming_convention() |
全局/類常量(constant) | MY_NAMING_CONVENTION | _MY_NAMING_CONVENTION |
全局/類變量(variable) | my_naming_convention | _my_naming_convention |
3. 縮寫(xiě)
命名應(yīng)當(dāng)盡量使用全拼寫(xiě)的單詞,縮寫(xiě)的情況有如下兩種:
常用的縮寫(xiě),如XML、ID等,在命名時(shí)也應(yīng)只大寫(xiě)首字母,如XmlParser。
命名中含有長(zhǎng)單詞,對(duì)某個(gè)單詞進(jìn)行縮寫(xiě)。這時(shí)應(yīng)使用約定成俗的縮寫(xiě)方式。
例如:
function 縮寫(xiě)為 fn
text 縮寫(xiě)為 txt
object 縮寫(xiě)為 obj
count 縮寫(xiě)為 cnt
number 縮寫(xiě)為 num
4. 前導(dǎo)后綴下劃線
- 一個(gè)前導(dǎo)下劃線:表示非公有。
- 一個(gè)后綴下劃線:避免關(guān)鍵字沖突。
- 兩個(gè)前導(dǎo)下劃線:當(dāng)命名一個(gè)類屬性引起名稱沖突時(shí)使用。
- 兩個(gè)前導(dǎo)和后綴下劃線:“魔”(有特殊用圖)對(duì)象或者屬性,例如__init__或者_(dá)_file__。絕對(duì)不要?jiǎng)?chuàng)造這樣的名字,而只是使用它們。
注意:關(guān)于下劃線的使用存在一些爭(zhēng)議。
5. 應(yīng)該避免的名稱
- 單字母名稱, 除了計(jì)數(shù)器和迭代器.
- 包/模塊名中的連字符(-)
- 雙下劃線開(kāi)頭并結(jié)尾的名稱(Python 保留, 例如__init__)
到此這篇關(guān)于Python 命名規(guī)范與最佳實(shí)踐的文章就介紹到這了,更多相關(guān)Python 命名規(guī)范內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python內(nèi)置模塊Collections的使用教程詳解
collections 是 Python 的一個(gè)內(nèi)置模塊,所謂內(nèi)置模塊的意思是指 Python 內(nèi)部封裝好的模塊,無(wú)需安裝即可直接使用。本文將詳解介紹Collections的使用方式,需要的可以參考一下2022-03-03Python腳本如何在bilibili中查找彈幕發(fā)送者
這篇文章主要介紹了如何在bilibili中查找彈幕發(fā)送者,本文給大家分享小編寫(xiě)的一個(gè)python腳本來(lái)實(shí)現(xiàn)bilibili彈幕發(fā)送者,需要的朋友可以參考下2020-06-06在Python程序和Flask框架中使用SQLAlchemy的教程
SQLAlchemy為Python程序與SQL語(yǔ)句之間建立了映射,是Python操作數(shù)據(jù)庫(kù)的利器,這里我們將來(lái)看在Python程序和Flask框架中使用SQLAlchemy的教程,需要的朋友可以參考下2016-06-06Python-Selenium自動(dòng)化爬蟲(chóng)
本文介紹Python-Selenium自動(dòng)化爬蟲(chóng),Selenium是一個(gè)Web的自動(dòng)化測(cè)試工具,最初是為網(wǎng)站自動(dòng)化測(cè)試而開(kāi)發(fā)的,Selenium?可以直接運(yùn)行在瀏覽器上,它支持所有主流的瀏覽器,可以接收指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏,xiamian?neir?需要的朋友可以參考下2022-01-01Python裝飾器實(shí)現(xiàn)幾類驗(yàn)證功能做法實(shí)例
下面小編就為大家?guī)?lái)一篇Python裝飾器實(shí)現(xiàn)幾類驗(yàn)證功能做法實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05