首页 >后端开发 >Python教程 >Python 字典如何保持代码干净、干燥

Python 字典如何保持代码干净、干燥

Patricia Arquette
Patricia Arquette原创
2024-10-02 14:10:02790浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn