
【6日でできるPython入門】条件分岐 if文②
Pythonのif文はとても柔軟で強力です。
ここでは、if文で使う比較演算子やブール演算子(論理演算子)、
さらに「in」や「is」などPython特有の判定、
条件式の中で値そのものがTrue/Falseとして評価される仕組み(暗黙の真偽値)も学びます。
これらを身につければ、より現実的で柔軟な条件分岐が書けるようになります。

1.比較演算とin/is演算子
1.1. 比較演算子と条件式の応用
if文の条件には「値の比較」や「特定の値を含むか?」といった判定式が使えます。
比較演算子は次の通りです。
演算子 | 意味 | 例 |
---|---|---|
< | より小さい | if a < b |
<= | 以下 | if x <= 100 |
> | より大きい | if age > 18 |
>= | 以上 | if score >= 60 |
== | 等しい | if name == '田中' |
!= | 等しくない | if item != '終了' |
is | 同一オブジェクトである | if obj is None |
is not | 同一オブジェクトでない | if value is not None |
in | 含まれている | if '猫' in animals |
ファイル名: lesson13-1.py
# 入力された文字列の長さを判定し、様々な比較を行う
user_id = input('ユーザーIDを入力してください(8文字以上):')
if len(user_id) < 8:
print('IDが短すぎます!')
elif len(user_id) > 12:
print('IDが長すぎます!')
else:
print('IDの長さは適切です。')
# in演算子の応用例
colors = ['赤', '青', '緑']
if '赤' in colors:
print('赤が含まれています')
# is演算子の例
result = None
if result is None:
print('結果が設定されていません')
実行結果
ユーザーIDを入力してください(8文字以上):python3
IDが短すぎます!
赤が含まれています
結果が設定されていません
1.2. ==とisの違い
ファイル名: lesson13-2.py
list1 = [1, 2, 3]
list2 = list1.copy()
print(list1 == list2) # True(値は同じ)
print(list1 is list2) # False(別のリスト)
- == … 値が等しいかどうかを判定
- is … 同じオブジェクトかどうか(同一性)
実行結果
True
False
2.ブール演算と暗黙の真偽値
2.1. ブール演算子(論理演算子)
複数の条件を組み合わせたいときはand/or/notを使います。
演算子 | 意味 | 例 |
---|---|---|
and | 両方ともTrueならTrue | if x > 0 and x < 10 |
or | どちらかがTrueならTrue | if name == '佐藤' or name == '田中' |
not | True/Falseを逆転 | if not user_list |
ファイル名: lesson13-3.py
score = int(input('テストの点数を入力してください(0-100):'))
if score >= 80 and score <= 100:
print('優秀です!')
elif score >= 60:
print('合格です。')
else:
print('再チャレンジしましょう。')
実行結果
テストの点数を入力してください(0-100):90
優秀です!
2.2. 暗黙のTrue/False
Pythonのif文では、「空のリスト」「空文字」「0」などはFalseと見なされます。
逆に、1つでも要素があるリストや0以外の数値はTrueとして判定されます。
値 | if条件での評価 | 解説 |
---|---|---|
'' | False | 空文字 |
0 | False | 整数の0 |
0.0 | False | 浮動小数点数の0 |
[] | False | 空リスト |
() | False | 空タプル |
{} | False | 空辞書 |
set() | False | 空集合 |
False | False | bool型のFalse |
None | False | NoneTypeのNone |
上記以外 | True | 1以上の数、非空文字列など |
ファイル名: lesson13-4.py
items = []
if not items:
print("リストは空です")
else:
print("リストに要素があります")
実行結果
リストは空です
このように、if文では比較・論理・in/is・暗黙の真偽値判定など多彩な書き方が可能です。
より柔軟で“パイソニック”な条件分岐をどんどん書いてみましょう!