Gro*_*ppe 3 python dictionary default
我试图传递一个空字典作为调用.get()
另一个字典的默认返回值。
queryStringParameters = event.get('queryStringParameters', ({})
size = queryStringParameters.get('size', 25)
Run Code Online (Sandbox Code Playgroud)
但是,queryStringParameters.get(...)
会引发错误,指出 queryStringParameters 为None
。
'NoneType' object has no attribute 'get': AttributeError
Traceback (most recent call last):
File "/var/task/api/game.py", line 13, in all
size = queryStringParameters.get('size', 25)
AttributeError: 'NoneType' object has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)
这是不可能的,还是我做错了什么?我也尝试了以下方法:
queryStringParameters = event.get('queryStringParameters', dict())
Run Code Online (Sandbox Code Playgroud)
有可能event
实际上包含一个queryStringParameters
恰好是None
. 您是否检查过密钥是否存在?
仅当键不存在时才返回默认值,如果它存在并且恰好是 None 则不返回。
但是你也可以写
queryStringParameters = event.get('queryStringParameters', {}) or {}
Run Code Online (Sandbox Code Playgroud)
为了安全起见。
归档时间: |
|
查看次数: |
1045 次 |
最近记录: |