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