python中的變量命名規(guī)則詳情
1.變量命名
1)命名的規(guī)范性
變量名可以包括字母、數(shù)字、下劃線,但是數(shù)字不能做為開頭。
系統(tǒng)關(guān)鍵字不能做變量名使用
除了下劃線之個,其它符號不能做為變量名使用 !
Python的變量名是除分大小寫的
2)編程語言常用駝峰命名法
- 大駝峰:每一個單詞的首字母都大寫
FirstName LastName - 小駝峰:第一個單詞以小寫字母開始,后續(xù)單詞的首字母大寫
firstName lastName
但是在python中一般使用小駝峰加下劃線的方式:
has_erroris_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:端口號age:年齡
這些很直觀的能讓人猜出類型。
注意: 不要使用復(fù)數(shù)來表示一個 int 類型變量,比如 apples,最好用 number_of_apples來替代。
3.變量名盡量短,但是不要太短
一個好的變量名,長度應(yīng)該控制在兩到三個單詞左右
例如:person_index
同一段代碼內(nèi)不要使用過于相似的變量名,比如同時出現(xiàn) users、users1、 user3。
不要使用帶否定含義的變量名,用is_special 代替is_not_normal。
4.合理使用變量
同一個變量名指代的變量類型,也需要保持一致性。
在一個函數(shù)中,一個變量名叫做 photo, 那么在其他地方就不要改成image。
5. 變量定義盡量靠近使用
剛開始學(xué)習(xí)編程時,我們習(xí)慣把定義的變量放在開頭,或一些函數(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ù)量
當(dāng)某一函數(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 準(zhǔn)則。
漂亮總比難看好。
顯性比隱性好。
簡單比復(fù)雜好。
復(fù)雜比復(fù)雜好。
平的比嵌套的好。
疏比密好。
可讀性。
特殊情況并不特別到足以打破規(guī)則。
盡管實用性勝過純潔。
錯誤不應(yīng)該悄無聲息地過去。
除非顯式地沉默。
面對模棱兩可,拒絕猜測的誘惑。
應(yīng)該有一種——最好只有一種——明顯的方法來做這件事。
除非你是荷蘭人,否則這種方式一開始可能并不明顯。
現(xiàn)在做總比不做好。
雖然永遠(yuǎn)不做總是比現(xiàn)在好。
如果實現(xiàn)很難解釋,那就不是一個好主意。
如果實現(xiàn)易于解釋,那么它可能是個好主意。
到此這篇關(guān)于python中的變量命名規(guī)則詳情的文章就介紹到這了,更多相關(guān)python變量命名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python內(nèi)存監(jiān)控工具memory_profiler和guppy的用法詳解
這篇文章主要介紹了python內(nèi)存監(jiān)控工具memory_profiler和guppy的用法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
python list 查詢是否存在并且并返回下標(biāo)的操作
這篇文章主要介紹了python list 查詢是否存在并且并返回下標(biāo)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05

