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
これはより簡潔で、ブランチを節約できます。ただし、コードをすばやく読んでいる人にとっては誤解を招く可能性があります。
これらの方法の 1 つは、スタイルや実行速度に適していますか? (ここではパフォーマンスの向上は最小限であると思いますが、null ではない場合) または、このコードを記述する別の 4 番目の方法が推奨されますか?