读代码专项第 8 题:get() 后链式调用 None
config = {
"env": "prod"
}
service = config.get("service").upper()
print(service)
运行时报:AttributeError: 'NoneType' object has no attribute 'upper'
-
代码意图:
从 config 字典中读取 service 对应的值,并转成大写后打印。 -
问题和根因:
问题在 service = config.get("service").upper()。config 中没有 service 这个 key,config.get("service") 返回 None,None 没有 upper() 方法,所以调用 .upper() 时抛 AttributeError。 -
修复方案:
给 get 增加默认值,例如 service = config.get("service", "-").upper()。

浙公网安备 33010602011771号