python中的變量命名規(guī)則詳情
1.變量命名
1)命名的規(guī)范性
變量名可以包括字母、數(shù)字、下劃線,但是數(shù)字不能做為開頭。
系統(tǒng)關(guān)鍵字不能做變量名使用
除了下劃線之個(gè),其它符號(hào)不能做為變量名使用 !
Python的變量名是除分大小寫的
2)編程語(yǔ)言常用駝峰命名法
- 大駝峰:每一個(gè)單詞的首字母都大寫
FirstName LastName
- 小駝峰:第一個(gè)單詞以小寫字母開始,后續(xù)單詞的首字母大寫
firstName lastName
但是在python中一般使用小駝峰加下劃線的方式:
has_error
is_person
2. 變量命名的描述性
在接受范圍內(nèi),變量名所描述的內(nèi)容越精準(zhǔn)越好。
- BAD: day, host, cards, temp
- GOOD: day_of_week, hosts_to_reboot, expired_cards
變量名能讓人猜出類型。
例如: Bool 類型
is_user
: 是否是用戶
例如: int/float 類型
port
:端口號(hào)age
:年齡
這些很直觀的能讓人猜出類型。
注意: 不要使用復(fù)數(shù)來(lái)表示一個(gè) int 類型變量,比如 apples,最好用 number_of_apples來(lái)替代。
3.變量名盡量短,但是不要太短
一個(gè)好的變量名,長(zhǎng)度應(yīng)該控制在兩到三個(gè)單詞左右
例如:person_index
同一段代碼內(nèi)不要使用過(guò)于相似的變量名,比如同時(shí)出現(xiàn) users
、users1
、 user3
。
不要使用帶否定含義的變量名,用is_special
代替is_not_normal
。
4.合理使用變量
同一個(gè)變量名指代的變量類型,也需要保持一致性。
在一個(gè)函數(shù)中,一個(gè)變量名叫做 photo
, 那么在其他地方就不要改成image
。
5. 變量定義盡量靠近使用
剛開始學(xué)習(xí)編程時(shí),我們習(xí)慣把定義的變量放在開頭,或一些函數(shù)最前面。
如下:
def get_name(): ?? ?students = [] ?? ?teachers = []
這樣的方式雖然看起來(lái)很簡(jiǎn)潔,但是對(duì)代碼可讀性沒(méi)有幫助,更好的做法是,讓變量定義盡量靠近使用。
6. 合理使用namedtuple/dict
Python中的函數(shù)可以返回多個(gè)值,如果某一天我們想讓函數(shù)再多返回一個(gè)值怎么辦呢?
#之前 def get_name(): ?? ?return student, teacher ?? ? #現(xiàn)在 def get_name(): ?? ?return student, teacher, parent
namedtuple/dict 此時(shí)可以派上用場(chǎng)
#1. 使用dict def get_name(): ?? ?return { ?? ?'student': student,? ?? ?'teacher':teacher,? ?? ?'parent' :parent ?? ?} names_dict = get_name() # 2. 使用 namedtuple from collections import namedtuple Names = namedtuple("Names", ['student', 'teacher', 'parent']) def get_name(): ?? ?return Names( ?? ?student = student, ?? ?teacher = teacher, ?? ?parent = parent ?? ?) names = get_name()
但是這樣不能像之前一樣,每一次解包多變量接受函數(shù)返回值。
6. 控制單個(gè)函數(shù)內(nèi)的變量數(shù)量
當(dāng)某一函數(shù)過(guò)長(zhǎng)時(shí),或者包含太多變量時(shí),請(qǐng)及時(shí)把它拆分成多個(gè)小函數(shù)。
7. 刪除掉沒(méi)用的變量
在一個(gè)函數(shù)中,如果某一個(gè)定義的變量沒(méi)有被用到,請(qǐng)及時(shí)刪除它。
8. 定義臨時(shí)變量提高可讀性
if student.is_active and (student.sex == 'female'): ? ? student.add_tolist() ? ? return #把上面的例子變成如下 student_is_eligible = student.is_active and (student.sex == 'female') if student_is_eligible: ? ? student.add_tolist() ? ? return
需要合理運(yùn)用臨時(shí)定義對(duì)象,把不必要的東西賦值成臨時(shí)變量反而會(huì)讓代碼顯得啰嗦!
9. The Zen of Python
最后分享一下 Zen of Python 準(zhǔn)則。
漂亮總比難看好。
顯性比隱性好。
簡(jiǎn)單比復(fù)雜好。
復(fù)雜比復(fù)雜好。
平的比嵌套的好。
疏比密好。
可讀性。
特殊情況并不特別到足以打破規(guī)則。
盡管實(shí)用性勝過(guò)純潔。
錯(cuò)誤不應(yīng)該悄無(wú)聲息地過(guò)去。
除非顯式地沉默。
面對(duì)模棱兩可,拒絕猜測(cè)的誘惑。
應(yīng)該有一種——最好只有一種——明顯的方法來(lái)做這件事。
除非你是荷蘭人,否則這種方式一開始可能并不明顯。
現(xiàn)在做總比不做好。
雖然永遠(yuǎn)不做總是比現(xiàn)在好。
如果實(shí)現(xiàn)很難解釋,那就不是一個(gè)好主意。
如果實(shí)現(xiàn)易于解釋,那么它可能是個(gè)好主意。
到此這篇關(guān)于python中的變量命名規(guī)則詳情的文章就介紹到這了,更多相關(guān)python變量命名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python自動(dòng)化處理Excel數(shù)據(jù)的操作過(guò)程
在實(shí)際數(shù)據(jù)處理和分析過(guò)程中,經(jīng)常會(huì)遇到需要從大量數(shù)據(jù)中提取出特定日期范圍內(nèi)的信息的需求,本文將介紹如何使用Python的pandas庫(kù)來(lái)處理Excel文件,感興趣的朋友跟隨小編一起看看吧2023-11-11Python中解析JSON并同時(shí)進(jìn)行自定義編碼處理實(shí)例
這篇文章主要介紹了Python中解析JSON并同時(shí)進(jìn)行自定義編碼處理實(shí)例,需要的朋友可以參考下2015-02-02pandas中g(shù)roupby操作實(shí)現(xiàn)
本文主要介紹了pandas中g(shù)roupby操作實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python面向?qū)ο笏枷肱c應(yīng)用入門教程【類與對(duì)象】
這篇文章主要介紹了Python面向?qū)ο笏枷肱c應(yīng)用,較為詳細(xì)的分析了Python面向?qū)ο笏枷肱c原理,并結(jié)合實(shí)例形式分析了類與對(duì)象相關(guān)定義、用法及操作注意事項(xiàng),需要的朋友可以參考下2019-04-04python傳參時(shí)一個(gè)星號(hào)和兩個(gè)星號(hào)的區(qū)別小結(jié)
在Python中,一個(gè)星號(hào)(*)和兩個(gè)星號(hào)(**)用于函數(shù)定義中的參數(shù)傳遞,本文主要介紹了python傳參時(shí)一個(gè)星號(hào)和兩個(gè)星號(hào)的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02Python+Tkinter制作股票數(shù)據(jù)抓取小程序
這篇文章主要為大家詳細(xì)介紹了如何實(shí)現(xiàn)一個(gè)Tkinter?GUI程序,完成無(wú)代碼股票抓??!文中的示例代碼講解詳細(xì),快跟小編一起動(dòng)手試一試吧2022-08-08scrapy框架中用ssh連接遠(yuǎn)程服務(wù)器的實(shí)現(xiàn)
本文主要介紹了scrapy?框架中用ssh連接遠(yuǎn)程服務(wù)器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Python實(shí)現(xiàn)快速計(jì)算24點(diǎn)游戲的示例代碼
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)快速計(jì)算24點(diǎn)游戲并獲取表達(dá)式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-12-12python使用BeautifulSoup分頁(yè)網(wǎng)頁(yè)中超鏈接的方法
這篇文章主要介紹了python使用BeautifulSoup分頁(yè)網(wǎng)頁(yè)中超鏈接的方法,涉及Python使用BeautifulSoup模塊操作網(wǎng)頁(yè)鏈接的技巧,需要的朋友可以參考下2015-04-04