私はPythonのバージョン< 2.5を負担する必要があり(それは仕様については2.4.3です)最良の方法は<2.5
三項演算子は2.5から始まるPythonで紹介したようです。慣れていない人のために、このような、Pythonで三項演算子は> = 2.5外観:
def do_ternary(flag):
return "foo" if flag else "bar"
私は、Pythonの初期のバージョンでこれをエミュレートするために、いくつかの解決策を知っているように思います。私は確かにそれを行うことができます...他には、私はいくつかの生産レベルのコードを置くために恥ずかしいではないよりpyononicを探しています:)
ありがとう!これはpythonでとても似and
とor
作品として働く
test and true_value or false_value
:
フラグがある場合はあなたの反対です:戻り値 "foo" else:戻り値 "bar"は十分にスタイリッシュではありませんか?それとも具体的な理由がありますか? – mfrankli
論理はうまくいますが、三項演算子ではありません。それは実際には「スタイリッシュ」なのかどうかという問題ではなく、コード分解とクリーンなコードの作成です。私は本当に私のコード内にif ... elseステートメントのツリー全体を持っているのが好きではありません。 –
テストが真であれば何かをしたいときは、 '' if ...:... else:... ''はかなり妥当と思われます。 _terse_と_readable_を混同しないでください。両方を行うことができない場合は、読み込み可能なものは常に勝つべきです。 –