假设我有一个将 a 评估为布尔值的条件,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
这样更简洁,为我们节省了一个分支;但是,对于快速阅读代码的人来说,这可能会产生误导。
其中一种方式是风格还是执行速度的首选?(虽然我怀疑这里的性能提升会很小,如果不是空的话)或者是否推荐另一种编写此代码的方法?