今回は、Pythonでif文を使った条件分岐のやり方を見ていきましょう。
目次
Pythonにおける条件分岐について
一言に条件分岐といってもいくつか方法があるので 順番に紹介していきますね!
- if文の基本について[ if, elif, else ]
- 比較演算子などで条件を指定するやり方
- 数値やリストなどで条件を指定するやり方
- 論理演算子[ and, or, not ]で複数の条件や否定を指定するやり方
この4つの項目について見ていきます。
条件分岐の方法
if文の基本について[ if, elif, else ]
まずは基本の構文から見ていきましょう。
if 条件1:
# 条件1がTrueのときに行う処理を記述
elif 条件2:
# 条件1がFalseで条件式2がTrueのときに行う処理を記述
elif 条件3:
# 条件1, 2がFalseで条件式3がTrueのときに行う処理を記述
else:
# すべての条件がFalseのときに行う処理を記述
この形が基本になります。 あとはこの基本の形から条件の指定方法が変わったりするので、どの条件判定の仕方が良いのかを判断して見やすいコードを書いていきましょう!
比較演算子などで条件を指定するやり方
次は、比較演算子などのbool型[ Ture, False ]を返す演算で条件を指定する方法を見ていきます。 Pythonの比較演算子は下の表を参考にしてください。
演算子 | 結果 |
---|---|
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を返します |
a is b | a とb が同じオブジェクトであればTrueを返します |
a is not b | a とb が同じオブジェクトでなければTrueを返します |
a in b | a がb に含まれていればTrueを返します |
a not in b | a がb に含まれていなければTrueを返します |
実際に使ってみたサンプルコードも書いていきますね!
number = 0
if number > 100:
print('100 < number')
elif num > 50:
print('50 < number<= 100')
elif num > 0:
print('0 < number<= 50')
elif num == 0:
print('number== 0')
else:
print('number< 0')
数値やリストなどで条件を指定するやり方
if文の条件式には、bool型[ True, False ]ではない数値やリストなどのオブジェクトを指定することもできます。
# 数値での条件指定
if 10:
ptint("true")
# リストでの条件指定
if [0, 1, 2]:
print("true")
このように数値とリストで条件の指定をすることもできます。 次に、条件指定において[False]つまり条件が成立していないパターンの紹介をします。
- bool型のFalse
- None
- 数値(int型やfloat型)の0もしくは, 0.0
- 空の文字列'""
- 空のコンテナ(リスト、タプル、辞書など)[], (), {}
これ以外はすべて[true]条件が成立することになります。
論理演算子[ and, or, not ]で複数の条件や否定を指定するやり方
最後に論理演算子[ and, or, not ]を使うことで、複数の条件の論理積(~かつ)や論理和(または~)、否定(~でない)を扱うこともできます。
演算子 | [ if文の条件式の ]結果 |
---|---|
a and b | aもbもTrue であればTrueを返します。 |
a or b | aとbいずれかがTrue であればTrueを返します。 |
not a | aがTrue であればFalseを返し 、a がFalse であればTrueを返します。 |
まとめ
今回は、Pythonにおける「ある特定の条件で処理を分ける」方法について一緒に見ていきました。 項目としてはこんな感じになります。
- if文の基本について[ if, elif, else ]
- 比較演算子などで条件を指定するやり方
- 数値やリストなどで条件を指定するやり方
- 論理演算子[ and, or, not ]で複数の条件や否定を指定するやり方
上記さえ押さえておけば今回のテーマである、特定の条件で処理を分ける方法は問題ないです。