Python の一行で if...else 文

Manav Narula 2023年10月10日
Python の一行で if...else 文

多くのプログラミング言語では、条件を評価するために if ... else 文が頻繁に使われています。

Python にはインラインの if ... else 文があり、コンパクトなバージョンの if ... else 文を一行にまとめることができます。このようなインライン文は制限されており、慎重にカスケードされた場合にのみ複数の if ... else 文を含むことができます。しかし、それらは else 句を含まなければならません。

このような文はコードの可読性を向上させ、コードを短くすっきりさせ、値や他の関数を代入する際に使用することができます。

以下のコードでは、別の変数の値に基づいて変数に値を代入する際に使用します。

b = 5
a = 1 if b > 2 else 2
print(a)

出力:

1

このようなインラインの if ... else 文は似ているため、Python では三項演算子とみなされていることに注意してください。

インラインの if ... else 文を print() のような他の関数と一緒に使って、条件に基づいて何かを表示することもできます。

a = 0
b = 2
print(a if a != 0 else b)

出力:

2

インライン文で複数の if ... else 条件をマッピングすることができます。例えば、

b = 5
a = 1 if b == 2 else (2 if b > 3 else 3)
print(a)

出力:

2

インラインの if ... else 文では elif 条件は使用できません。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python Syntax