ホームページ >バックエンド開発 >Python チュートリアル >Python 辞書がコードをクリーンかつドライに保つ方法
こんにちは! ? Python プログラミングに取り組んでいる方は、おそらく辞書に遭遇し、「Python の辞書とは何だろう? よりスマートなコーディングにどのように役立つのだろう?」と疑問に思ったことがあるかもしれません。心配しないで、非常に簡単に説明しましょう。
アイテムのリストがあり、各アイテムに「名前: ジョン」や「年齢: 25」などの一意のラベルが付けられていると想像してください。 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)
この辞書には学生の名前、年齢、専攻が保存されています。 「名前」や「年齢」などのキーが引用符で囲まれていることに注意してください。それは、キーが文字列、数値、さらにはタプルになる可能性があるためです。値には、文字列、リスト、その他の辞書など、何でも構いません。
さて、ここからが興味深いところです。 DRY 原則 について聞いたことがあるかもしれません。これは Don'trepeat Yourself の略です。これは、コード内の冗長性を避けることを奨励するルールです。辞書はそれをどのように助けることができるでしょうか?見てみましょう。
学生に関する情報を別の変数に保存したいと想像してください。次のようになります:
student1_name = 'Alice' student1_age = 20 student1_major = 'Mathematics' student2_name = 'Bob' student2_age = 22 student2_major = 'Physics'
変数名が繰り返されるだけでなく、変数名を出力または更新したい場合は、何度も繰り返す必要があります。ここで辞書が窮地を救ってくれます。 ?
辞書を使用すると、これらすべての情報をよりクリーンな方法で保存できます。
# 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
これで、各学生の名前、年齢、専攻に対して個別の変数を作成する必要がなくなります。より簡単な方法で情報にアクセスしたり、情報を更新したりできます。さらに、コードがすっきりして管理しやすくなります。
学生のスコアに基づいた単純な評価システムを作成したいとします。辞書がないと、次のように書くことになるかもしれません:
# 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 回記述するだけで、辞書内のすべての生徒に適用されます。 ?
辞書には、辞書の操作を簡単にする多くの組み込みメソッドが付属しています。いくつかをチェックしてみましょう:
print(student_info.get('address', 'Address not available')) # Output: Address not available
print(student_info.keys()) # Output: dict_keys(['name', 'age', 'major']) print(student_info.values()) # Output: dict_values(['John Doe', 21, 'Computer Science'])
for key, value in student_info.items(): print(f'{key}: {value}') # Output: # name: John Doe # age: 21 # major: Computer Science
student_info.update({'grade': 'A'}) print(student_info) # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A'}
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 中国語 Web サイトの他の関連記事を参照してください。