假设我有一个将 a 计算为 bool 值的条件,condition
,我想设置变量 foo
取决于该条件的值。
我可以用几种不同的方式编写(为简单起见,我们假设 some_value
和 some_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/