Python:有条件地设置变量的最惯用方法?

标签 python coding-style

假设我有一个将 a 计算为 bool 值的条件,condition ,我想设置变量 foo取决于该条件的值。

我可以用几种不同的方式编写(为简单起见,我们假设 some_valuesome_other_value 是常量而不是函数调用)。这是一个方法:

foo = None
if condition:
  foo = some_value
else:
  foo = some_other_value

这种方法很好,因为 foo在顶部明确声明;然而,它有点冗长。我们可以更简单地写成:

if condition:
  foo = some_value
else:
  foo = some_other_value

这为我们节省了一个任务,但一些程序员可以找到 foo 的确切性质的范围不明确。

另一种方式是:

foo = some_other_value
if condition:
  foo = some_value

这样更简洁,省去了一个分支;然而,对于快速阅读代码的人来说,这可能会产生误导。

从风格或执行速度来看,这些方法中的一种是首选吗? (虽然我怀疑这里的性能提升是最小的,如果不是空的话) 或者是否推荐了另一种编写此代码的第四种方式?

最佳答案

foo = some_value if condition else some_other_value

关于Python:有条件地设置变量的最惯用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19696173/

相关文章:

python - 如何在 Python 中实现二叉搜索树?

python - Dask dataframe apply 在传递局部变量作为参数时给出意外的结果

python - 将长数据帧转换为宽数据帧

c - 你喜欢 "if (var)"还是 "if (var != 0)"?

python - 为什么类会发生这种情况

python - 将曲线拟合到散点图的边界

Java - 避免代码中的长 SQL 查询

php - 你如何将你的 sql 查询嵌入到 php 脚本中(编码风格)?

python - 代码风格——for with if

c# - F# 编码风格 - 静态方法与实例方法