You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Python字典get(key, value)方法传入错误value仍返回正确值?

Python字典get()方法的逻辑解析

核心逻辑

字典的get()方法本质是安全获取键对应的值,它的第二个参数是兜底默认值——只有当目标键不存在于字典中时,才会触发返回这个默认值;如果键已经存在,无论第二个参数传什么,都会直接返回键对应的实际值。

你的例子拆解

看你给出的代码:

dic = {'a':500, 'b':600}
dic.get('a', 5)

这里字典里明确存在键'a',对应的值是500,所以get()方法直接返回这个已存在的值,第二个参数5完全不会被用到,自然不会返回它,也不会触发报错。

容易混淆的细节

你可能误把get()的第二个参数当成了“错误处理值”,但它的核心作用是提供 fallback 选项:

  • 当键存在时:返回键的实际值,与第二个参数无关
  • 当键不存在时:返回你传入的默认值;如果没传默认值,默认返回None

举个反例验证:

dic.get('c', 5)  # 'c'不在字典里,返回5
dic.get('d')     # 'd'不在字典里,返回None

对比直接用下标访问dic['c']会抛出KeyError,get()方法的优势就是避免这类报错,用默认值替代异常。

内容的提问来源于stack exchange,提问作者guywhoasksquestions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:39:57