从 Dicts 获取值时的 Python If then Else 样式

标签 python syntax if-statement

我经常纠结于以下 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/

相关文章:

python - 条件变量的更多pythonic方式

python - 如何使用 python 在 x 轴或 y 轴标签之间添加更多刻度?

python - 如何使用带有 -l 或 --no input 等选项的 call_command 以编程方式调用 collectstatic 管理命令

python - 使用正则表达式搜索特定文件

r - 分配给 LHS 上的空索引(空方括号 x[]<-)

php - Predis 上 BLPOP 的正确语法是什么?

sql - COUNT DISTINCT WITH CONDITION 和 GROUP BY

python - 2.x 中 python 类样式的建议是什么,最终更新到 3.x

python - 是否有任何支持 Python 3 语法的 IDE?

C 计算器帮助--无法获取最小值和最大值