首頁 > 軟體

python中的變數命名規則詳情

2022-03-18 13:01:34

1.變數命名

1)命名的規範性

變數名可以包括字母、數位、下劃線,但是數位不能做為開頭。

系統關鍵字不能做變數名使用

除了下劃線之個,其它符號不能做為變數名使用 !

Python的變數名是除分大小寫的

2)程式語言常用駝峰命名法

  • 大駝峰:每一個單詞的首字母都大寫 FirstName LastName
  • 小駝峰:第一個單詞以小寫字母開始,後續單詞的首字母大寫 firstName lastName

但是在python中一般使用小駝峰加下劃線的方式:

  • has_error
  • is_person

2. 變數命名的描述性

在接受範圍內,變數名所描述的內容越精準越好。

  • BAD: day, host, cards, temp
  • GOOD: day_of_week, hosts_to_reboot, expired_cards

變數名能讓人猜出型別。

例如: Bool 型別

is_user : 是否是使用者

例如: int/float 型別

port:埠號
age:年齡

這些很直觀的能讓人猜出型別。

注意: 不要使用複數來表示一個 int 型別變數,比如 apples,最好用 number_of_apples來替代。

3.變數名儘量短,但是不要太短

一個好的變數名,長度應該控制在兩到三個單詞左右

例如:person_index

同一段程式碼內不要使用過於相似的變數名,比如同時出現 usersusers1user3

不要使用帶否定含義的變數名,用is_special 代替is_not_normal

4.合理使用變數

同一個變數名指代的變數型別,也需要保持一致性。

在一個函數中,一個變數名叫做 photo, 那麼在其他地方就不要改成image

5. 變數定義儘量靠近使用

剛開始學習程式設計時,我們習慣把定義的變數放在開頭,或一些函數最前面。

如下:

def get_name():
    students = []
    teachers = []

這樣的方式雖然看起來很簡潔,但是對程式碼可讀性沒有幫助,更好的做法是,讓變數定義儘量靠近使用。

6. 合理使用namedtuple/dict

Python中的函數可以返回多個值,如果某一天我們想讓函數再多返回一個值怎麼辦呢?

#之前
def get_name():
    return student, teacher
    
#現在
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()

但是這樣不能像之前一樣,每一次解包多變數接受函數返回值。

6. 控制單個函數內的變數數量

當某一函數過長時,或者包含太多變數時,請及時把它拆分成多個小函數。

7. 刪除掉沒用的變數

在一個函數中,如果某一個定義的變數沒有被用到,請及時刪除它。

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 準則。

漂亮總比難看好。
顯性比隱性好。
簡單比複雜好。
複雜比複雜好。
平的比巢狀的好。
疏比密好。
可讀性。
特殊情況並不特別到足以打破規則。
儘管實用性勝過純潔。
錯誤不應該悄無聲息地過去。
除非顯式地沉默。
面對模稜兩可,拒絕猜測的誘惑。
應該有一種——最好只有一種——明顯的方法來做這件事。
除非你是荷蘭人,否則這種方式一開始可能並不明顯。
現在做總比不做好。
雖然永遠不做總是比現在好。
如果實現很難解釋,那就不是一個好主意。
如果實現易於解釋,那麼它可能是個好主意。

到此這篇關於python中的變數命名規則詳情的文章就介紹到這了,更多相關python變數命名內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com