读代码专项第 8 题:get() 后链式调用 None

config = {
"env": "prod"
}
service = config.get("service").upper()
print(service)

运行时报:AttributeError: 'NoneType' object has no attribute 'upper'

  1. 代码意图:
    从 config 字典中读取 service 对应的值,并转成大写后打印。

  2. 问题和根因:
    问题在 service = config.get("service").upper()。config 中没有 service 这个 key,config.get("service") 返回 None,None 没有 upper() 方法,所以调用 .upper() 时抛 AttributeError。

  3. 修复方案:
    给 get 增加默认值,例如 service = config.get("service", "-").upper()。

posted @ 2026-06-16 13:24  呵哈哈哈哈  阅读(3)  评论(0)    收藏  举报