Pythonの勉強をしていて、このような悩みを抱えていませんか?
ifって、どうやって使うの?
この記事では、Pythonのif文について現役エンジニアが分かりやすく解説していきます。
他にも【Python入門】for文の使い方で「for」について分かりやすく解説しているので、お時間がある方はご確認ください。
また、Pythonをもっと詳しく勉強したいという方は、【超厳選】20代におすすめのプログラミングスクール3選!を参考にしてください。
他にも無料でプログラミングスクールを受講したいという方は、【完全無料】0円で学べるプログラミングスクールを紹介【大学生向け】を参考にしてください。
if文の書き方
Pythonでは、条件分岐を記述する際に「if」を使用します。
ifの書き方は、以下の通りです。
if 条件式1:
条件式がtrueの時に実行する処理
elif 条件式2:
条件式1がfalse、条件式2がtrueの時に実行する処理
else:
全ての条件式がfalseの時に実行する処理
「elif」や「else」は書かなくてもOKです。
また、「elif」を複数個記述することで、複雑な条件式を表現することが出来ます。
それでは、「if文の書き方」を使ってみましょう。
まずは、例コードを以下に記載するので、コピペして実行してください。
num = 10
# 変数numが10より小さい
if(num < 10):
print("numは10より小さい")
# 変数numが10と等しい
elif (num == 10):
print("numは10と等しい")
# 上記条件式が全てfalse
else:
print("numは10より大きい")
例コードを実行すると、次のような出力が得られます。
numは10と等しい
それでは、例コードについて解説していきます。
解説するために、「if文の書き方」をおさらいしましょう。
if 条件式1:
条件式がtrueの時に実行する処理
elif 条件式2:
条件式1がfalse、条件式2がtrueの時に実行する処理
else:
全ての条件式がfalseの時に実行する処理
「if文の書き方」に当てはめて、例コードを考えてみると、条件式1(num < 10)がfalseになります。
そのため、条件式2(num == 10)に流れtrueの結果が得られるため、「条件式1がfalse、条件式2がtrueの時に実行する処理」となり。「numは10と等しい」と出力されます。
比較演算子一覧
if文を使う際には、比較演算子を理解する必要があります。
Pythonで使用される比較演算子は、以下の通りです。
比較演算子 | 意味 |
---|---|
x < y | x がy より小さければTrue |
x <= y | x がy より小さいか等しければTrue |
x > y | x がy より大きければTrue |
x >= y | x がy より大きいか等しければTrue |
x == y | x とy の値が等しければTrue |
x != y | x とy の値が等しくなければTrue |
x is y | x とy が同じオブジェクトであればTrue |
x is not y | x とy が同じオブジェクトでなければTrue |
x in y | x がy に含まれていればTrue |
x not in y | x がy に含まれていなければTrue |
if文では上記の比較演算子を利用して、条件式を記述する必要があります。
論理演算子一覧
if文で、複数の条件式を一つの条件式として扱う場合には、論理演算子を使用します。
Pythonで使用される論理演算子は、以下の通りです。
論理演算子 | 意味 |
---|---|
x and y | x もy もTrue であればTrue |
x or y | x とy いずれかがTrue であればTrue |
not x | x がTrue であればFalse 、x がFalse であればTrue |
論理演算子を使用することで、より複雑な条件式を記述することが出来ます。
num = 50
# 変数numが10より小さい
if(num > 10 and num < 100):
print("numは10より大きい かつ numは100より小さい")
numは10より大きい かつ numは100より小さい
知っておくと便利な真理値判定
Pythonでは、真理値が規定値として決まっているものがあります。
- 偽であると定義されている定数:
None
とFalse
- 数値型におけるゼロ:
0
,0.0
,0j
,Decimal(0)
,Fraction(0, 1)
- 空のシーケンスまたはコレクション:
''
,()
,[]
,{}
,set()
,range(0)
上記のルールを知っておくと、リストがnullかを調べることも簡単に出来ます。
numList1 = [1, 2, 3]
numList2 = []
# numList1は空値
if(bool(numList1) == False):
print("numList1は空値")
else:
print("numList1は空値ではない")
# numList2は空値
if(bool(numList2) == False):
print("numList2は空値")
else:
print("numList2は空値ではない")
numList1は空値ではない
numList2は空値
【まとめ】if文を使用することで条件分岐を実現できる
if文の使い方は分かりましたか?
if 条件式1:
条件式がtrueの時に実行する処理
elif 条件式2:
条件式1がfalse、条件式2がtrueの時に実行する処理
else:
全ての条件式がfalseの時に実行する処理
この記事では、Pythonのifの使い方について紹介しました。
最後になりますが、私の体験談やみなさんの疑問に対して、できる限り分かりやすく記載したつもりです。ですが、もしここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。
最後までお読みいただきありがとうございました。