三項演算子の存在をテストするための略語を覚えているようです。例えば:
a = None
b = a if a else 'Not None!'
# b is now 'Not None!'
こんな感じだと思いました
a else 'Not None!'
しかし、それは機能しません。おそらく、他の組み込みタイプを使用してこれを短縮する別の方法がありますか?
三項演算子の存在をテストするための略語を覚えているようです。例えば:
a = None
b = a if a else 'Not None!'
# b is now 'Not None!'
こんな感じだと思いました
a else 'Not None!'
しかし、それは機能しません。おそらく、他の組み込みタイプを使用してこれを短縮する別の方法がありますか?
いいえ、利用できる略語はありません。
a or 'Not None!'
代わりに考えていましたか?
補足として:... if ... else ...
は条件式と呼ばれます。これは三項演算子ですが、SQLBETWEEN ... IN ...
式も同様です。
はい、あなたの場合、略語があります。
b = a or 'Not None!'
とほぼ同等
b = a if a else 'Not None!'
唯一の違いはa
、最初のケースでは 1 回、2 番目のケースでは 2 回評価されることです。b
どちらの場合も、入れられる値は同じです。
a
また、どちらのコードでも、 が None ではなく False の場合、予期しない結果になる可能性があることに注意してください。たとえば、a
がの場合に何が起こるかを考えてみましょう。0.0
これは私には本当に意味がありません
a = None
b = a if a else 'Not None!'
(を含む)Not None!
の偽の値に対してbをに設定していますa
None
おそらくあなたは考えていた
a = None
b = 'Not None!' if a is None else a
か何か?
とにかく、あなたが逃げることができる場合を除いて
b = a or 'Not None!'
また
b = a and 'Not None!'
a
二度言及することを避ける方法はありません