web-dev-qa-db-ja.com

python:iifまたは(x?a:b)

重複の可能性:
Python三項演算子

PythonがC/C++の(x?a:b)構文をサポートする場合、次のように記述します。

print paid ? ("paid: " + str(paid) + " €") : "not paid"

ここにif-checkと2つの独立した印刷物を入れたくありません(これは上記の例にすぎないため、私のコードでは、はるかに複雑に見え、ほぼ同じコードを2回持つのは本当にばかげています)。

ただし、Pythonはこの演算子または同様の演算子(afaik)をサポートしていません。これを行う最も簡単/クリーン/最も一般的な方法は何ですか?

私は少し検索しました iif(cond、iftrue、iffalse)関数を定義している誰かを見ました 、VisualBasicからインスピレーションを得ました。本当にそのコードを追加する必要があるのか​​、そして標準ライブラリにそのような基本的な関数がないのか/なぜなのか疑問に思いました。

17
Albert

試してみてください

 print ("paid: " + str(paid) + " €") if paid else "not paid"
15
Juri Robl