我经常纠结于以下 if/else 语法,我希望有人能给我一些他们认为更清楚的意见,或者这是否违反了任何 Pythonisms(我已经搜索过但无法找到任何东西)。
其中一个更好还是对/错?
value = None
if 'value' in some_dict:
value = some_dict['value']
some_func(value=value)
或者:
if 'value' in some_dict:
value = some_dict['value']
else:
value = None
some_func(value=value)
或者:
some_func(value=some_dict.get('value', None))
我可以看到所有的原因。
最佳答案
当然最后一个是最好的 - 描述的情况是 dict.get
的确切情况。
请注意 - get
的第二个参数是多余的,您可以简单地写:
some_func(value=some_dict.get('value'))
关于从 Dicts 获取值时的 Python If then Else 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8730946/