Python 字典如何保持程式碼乾淨、乾燥

Patricia Arquette
發布: 2024-10-02 14:10:02
原創
740 人瀏覽過

How Python Dictionaries Keep Your Code Clean and DRY

Python 字典和 DRY 原則:初學者快速指南

嘿那裡! ?如果您正在深入研究Python 編程,您可能偶然發現了字典,並且可能想知道「Python 中的字典到底是什麼?它如何幫助我更聰明地編寫程式碼?」不用擔心,讓我們用一種超級簡單的方式來分解它。

Python 中的字典是什麼?

假設您有一個項目列表,並且每​​個項目都附加了一個唯一的標籤,例如「姓名:John」或「年齡:25」。 Python 中的字典的工作原理與此完全相同!它是鍵值對的集合,其中每個鍵都是唯一的並指向特定值。將其視為一個迷你資料庫,用於以整齊且有組織的方式儲存資訊。

它就像一本真正的字典,您可以在其中找到單字(鍵)並獲取其含義(值)。很酷,對吧? ?

如何用 Python 製作字典?

建立字典就像做派一樣簡單。您只需使用大括號 {} 並用冒號分隔每個鍵值對:.

以下是製作簡單字典的方法:

# Creating a dictionary to store student information
student_info = {
    'name': 'John Doe',
    'age': 21,
    'major': 'Computer Science'
}

# Printing out the dictionary
print(student_info)
登入後複製

這本字典存放了學生的姓名、年齡和專業。注意到像“name”和“age”這樣的鍵是如何用引號括起來的嗎?這是因為鍵可以是字串、數字,甚至是元組!這些值可以是任何字串、列表、其他字典,只要你能想到的。

字典如何幫助我們避免重複(DRY 原則)

現在,事情變得有趣了。您可能聽過DRY原則,它代表不要重複自己。這是一條鼓勵您避免程式碼冗餘的規則。字典如何幫助解決這個問題?我們來看看吧。

使用字典之前(重複程式碼)

想像一下您想要將有關學生的資訊儲存在單獨的變數中。它可能看起來像這樣:

student1_name = 'Alice'
student1_age = 20
student1_major = 'Mathematics'

student2_name = 'Bob'
student2_age = 22
student2_major = 'Physics'
登入後複製

我們不僅有重複的變數名稱,而且如果我們想要列印或更新這些變量,我們必須一次又一次地重複自己。這就是字典可以拯救世界的地方! ?

範例1:使用字典後(DRY 版本)

使用字典,我們可以以更乾淨的方式儲存所有這些資訊:

# Using dictionaries to store student data
students = {
    'student1': {'name': 'Alice', 'age': 20, 'major': 'Mathematics'},
    'student2': {'name': 'Bob', 'age': 22, 'major': 'Physics'}
}

print(students['student1']['name'])  # Output: Alice
print(students['student2']['age'])   # Output: 22
登入後複製

現在,您不必為每個學生的姓名、年齡和專業建立單獨的變數。您可以透過更簡單的方式存取或更新資訊。另外,它使您的程式碼更乾淨、更易於管理。

範例 2:使用字典避免重複

假設您想根據學生成績建立一個簡單的評分系統。如果沒有字典,您最終可能會編寫以下內容:

# Without dictionary (repeating code)
alice_score = 90
bob_score = 75
charlie_score = 85

if alice_score >= 85:
    print("Alice gets an A")
if bob_score >= 85:
    print("Bob gets an A")
if charlie_score >= 85:
    print("Charlie gets an A")
登入後複製

在這裡,我們重複 if 語句並對每個學生的姓名和分數進行硬編碼,這違反了 DRY 原則。

相反,使用字典,您可以避免像這樣的重複:

# Using a dictionary (DRY principle)
student_scores = {'Alice': 90, 'Bob': 75, 'Charlie': 85}

for student, score in student_scores.items():
    if score >= 85:
        print(f"{student} gets an A")
登入後複製

現在,您擁有更乾淨、更短且更易於維護的程式碼!您只需編寫一次 if 語句,它就適用於字典中的所有學生。 ?

有用的字典方法

字典附帶許多內建方法,使使用它們變得輕而易舉。讓我們來看看其中的一些:

  1. .get():幫助您避免在金鑰不存在時發生錯誤。
   print(student_info.get('address', 'Address not available'))  
   # Output: Address not available
登入後複製
  1. .keys() 和 .values():取得字典中的所有鍵或值。
   print(student_info.keys())  # Output: dict_keys(['name', 'age', 'major'])
   print(student_info.values())  # Output: dict_values(['John Doe', 21, 'Computer Science'])
登入後複製
  1. .items():以對的形式取得鍵和值。
   for key, value in student_info.items():
       print(f'{key}: {value}')
   # Output: 
   # name: John Doe
   # age: 21
   # major: Computer Science
登入後複製
  1. .update():用另一個字典或鍵值對更新一個字典。
   student_info.update({'grade': 'A'})
   print(student_info)  
   # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A'}
登入後複製
  1. .setdefault():如果鍵不存在,則新增具有預設值的鍵。
   student_info.setdefault('graduation_year', 2024)
   print(student_info)  
   # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A', 'graduation_year': 2024}
登入後複製

總結

字典非常強大,可以真正幫助您在程式碼中遵循 DRY 原則。透過使用字典,您可以避免重複,使程式碼井井有條,並使其更易於閱讀和維護。

所以,下次當您發現自己創建了一堆類似的變數時,請考慮使用字典。它會為您節省大量的時間和精力,未來的您會感謝您! ?

編碼愉快! ?

以上是Python 字典如何保持程式碼乾淨、乾燥的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板