在 Python 中,字典是我们最常用的数据结构之一。当我们想要通过 key 获取 value 时,很多人习惯使用
dict[key]
这种方式。但你知道吗?字典还有一个非常实用的方法 ——get()
,它不仅功能更强大,还能有效避免程序因 KeyError 崩溃。本文将带你全面了解dict[key]
和dict.get(key)
的区别,以及如何在实际开发中做出明智选择!
🔍 一、两种取值方式的基本用法
1. 使用 dict[key]
my_dict = {'name': 'Alice'}
print(my_dict['name']) # 输出: Alice
这是最直观的方式,但如果 key 不存在,就会抛出异常:
my_dict = {}
print(my_dict['age']) # 抛出 KeyError: 'age'
2. 使用 dict.get(key)
my_dict = {'name': 'Alice'}
print(my_dict.get('name')) # 输出: Alice
如果 key 不存在,默认返回 None
,不会报错:
my_dict = {}
print(my_dict.get('age')) # 输出: None
还可以指定默认值:
print(my_dict.get('age', 0)) # 输出: 0
⚠️ 二、key 不存在时的行为差异
表达式 | key 存在 | key 不存在 |
---|---|---|
dict[key] | 返回值 | 抛出 KeyError |
dict.get(key) | 返回值 | 返回 None 或默认值 |
一句话总结:
- 如果你确定 key 存在,可以用
[]
;- 如果你不确定 key 是否存在,一定要用
.get()
来避免程序崩溃!
📌 三、适用场景对比
✅ 推荐使用 []
的情况:
- 确定 key 一定存在;
- key 不存在应被视为错误(需要处理);
- 不希望程序“默默失败”;
✅ 推荐使用 .get()
的情况:
- key 可能不存在;
- 想提供一个默认值;
- 不想因为 KeyError 导致程序中断;
- 在读取配置、解析 JSON、处理用户输入等场景中特别实用;
💡 四、实战小例子
user = {'name': 'Bob'}
# 方式一:使用 []
try:
print(user['age'])
except KeyError:
print("Key 'age' 不存在")
# 方式二:使用 get
print(user.get('age')) # 输出 None
print(user.get('age', 18)) # 输出 18
🎉 结语:学会用对的方法,让代码更优雅!
掌握字典中 .get()
方法的使用,不仅能让你写出更健壮、容错性更强的代码,也能提升你在日常开发中的效率。下一次当你面对不确定是否存在 key 的字典时,记得优先考虑使用 .get()
!
如果你觉得这篇文章对你有帮助,欢迎点赞收藏,并关注我获取更多 Python 实用技巧!
祝你每天写代码都顺顺利利,bug 少少,快乐多多 😊!
🏷️ 标签:
#Python基础
#字典操作
#get方法