在 Python 编程中,get() 是字典(dict)对象的一个非常实用的方法,用于安全地获取字典中的值,避免因键不存在而引发 KeyError 异常。
dict.get(key[, default])
key:要查找的键。default(可选):如果键不存在时返回的默认值,默认为 None。data = {'name': 'Alice', 'age': 25}
# 使用 get() 安全取值
print(data.get('name')) # 输出: Alice
print(data.get('gender')) # 输出: None
print(data.get('gender', '未知')) # 输出: 未知
直接使用 dict[key] 在键不存在时会抛出 KeyError,而 get() 不会。
data = {'score': 90}
# 直接访问不存在的键 → 报错!
# print(data['rank']) # KeyError: 'rank'
# 使用 get() 安全处理
print(data.get('rank', 0)) # 输出: 0
get() 常用于以下场景:
get(key, 0) + 1)。words = ['apple', 'banana', 'apple', 'cherry']
count = {}
for word in words:
count[word] = count.get(word, 0) + 1
print(count)
# 输出: {'apple': 2, 'banana': 1, 'cherry': 1}
虽然 get() 很方便,但如果确定键一定存在,直接使用 dict[key] 性能略高(因为少了一次函数调用)。但在不确定的情况下,优先使用 get() 提高代码健壮性。
get() 只适用于字典(dict),不适用于列表、元组等其他类型。None,需谨慎判断是否真的“不存在”还是“值为 None”。