今回はPythonにおけるif文やelse文,elif文を用いた条件分岐の書き方について解説していきます。
Pythonではインデントを用いてコードを制御しているため、他の言語とはまた違った書き方になっておりますので、そのあたりも注意して解説いたします。
なお、そもそもif文とは何ぞやといったチュートリアル的な話は以下の記事でしているので、そちらから確認したいという人は参考にしてみてください。

この記事でわかること
・if 文の書き方とサンプルコード
・else 文の書き方とサンプルコード
・elif 文の書き方とサンプルコード
if文の基本的な書き方

“if” 文の基本構文は以下のようになっております。
条件式に合致した場合のみ(条件がTrueだった場合)if文のブロック内に記載した処理が実行されます。
ブロック化した処理に関しては何行書いても対象となることは把握しておきましょう。
また、他の言語だと括弧で囲んでif文の処理であることを示しますが、Pythonの場合は括弧は使わずインデントを用いる点に注意してください。
さらに、コロンも忘れがちなのでそちらも注意してください。
else文を使った条件式に合致しない処理の書き方

次にif文で記載した条件に対して”true(真)”にならないようなケースにおいて処理を実行したい場合の書き方について解説します。
条件に合致しない場合は、その他の処理として “else” 文を用いることで処理の設定が可能です。
else文の書き方については以下のようになります。
if文にて設定した条件に合致しなかった場合に実行されます。
条件に合致しなかった様々なケースを一括りで拾えることができるのでかなり便利です。
elif文を使った複数条件の書き方

続いてelif文を使った複数条件の書き方について解説いたします。
if文は記載するケースは何も一つだけとは限らず、複数条件設定したい場合がありますよね。
その場合はelif文を用いることで、設定することが可能になります。
elif文の書き方は以下のようになります。
elif文は上記のように複数設定が可能です。
Pythonにはswitch文というのが存在しませんので、複数条件がある場合はこのように、複数羅列して書くようにしましょう。
なお、if文やelse文は当然ですが、一つしか書けませんのでご注意ください。
if文のネスト

いくつかの条件を並列して記載したい時はOR演算子やAND演算子を利用することで可能になりますが、条件にはある条件の中で、さらにいくつかの条件を設定したい場合が多々あるとおもいます。
例えばコロナでよく話題があがる、抗原検査の「陽性と診断された人の中で、実際に陽性だった人と、陰性だった人」みたいなのを振り分けるときに必要になってきます。
if文ではこういったときに対応するできるようにネスト(入れ子に)させることができます。
マトリョーシカみたいな状況ということですね。
ネストの書き方は以下の通りです。
ネストしたif文の中に書く処理はさらにインデントを重ねる必要があることに注意してください。
また、ネストする回数自体には制限がありませんので、必要であれば複数回ネストすることができます。
ただし、ネストが深くなればなるほど見づらくはなりますので、並列に書ける条件であればネストせずAND演算子等を使用して並列に書くようにしましょう。
if文で使用する比較演算子
最後にif文で使用できる比較演算子をまとめて記載しておきますので、書き方を忘れてしまった場合にご参照ください。
演算子 | 式 | 内容 |
---|---|---|
< | a < b | a が b より小さければTrue |
<= | a <= b | a が b 以下であればTrue |
> | a > b | a が b より大きければTrue |
>= | a >= b | a が b 以上であればTrue |
== | a == b | a と b が同等の値であればTrue |
!= | a != b | a と b が同等の値でなければTrue |
is | a is b | a と b が同じオブジェクトであればTrue |
is not | a is not b | a と b が同じオブジェクトでなければTrue |
in | a in b | a が bに含まれる値であればTrue |
not in | a not in b | a が bに含まれる値でなければTrue |
以上で、if文の書き方については終了です。
読みづらい、間違っている個所がありましたらご連絡いただければ幸いです
今回はここまでです。
お疲れ様です。
コメント