まず結論
and、or、not は条件を組み合わせるための書き方です。
age = 20
has_ticket = True
if age >= 18 and has_ticket:
print("入れます")
この例では、年齢条件とチケット条件の両方を見ています。
読む目安
次のようなところで止まった人向けです。
- 条件が長くなると読めない
andとorの違いが分からないnotが出てくると混乱する
まずは日本語に置き換えると読みやすくなります。
イメージで考える
and は、2つの鍵がそろうと開く扉です。
or は、どちらか1つの鍵があれば開く扉です。
not は、結果を反対にする小さなスイッチです。
条件式が長く見えても、こうした道具に分けて見ると読みやすくなります。
andは両方
and は、両方の条件が True のときだけ True です。
score = 80
attendance = 90
if score >= 60 and attendance >= 80:
print("合格")
「点数も出席も条件を満たすなら」と読めます。
orはどちらか
or は、どちらかの条件が True なら True です。
is_weekend = True
is_holiday = False
if is_weekend or is_holiday:
print("休み")
「週末か祝日なら」と読めます。
notは反対
not は、条件の結果を反対にします。
is_raining = False
if not is_raining:
print("出かける")
is_raining が False なので、not is_raining は True になります。
読み方のコツ
次のように読むと、条件式が整理できます。
and: かつor: またはnot: ではない
英語として覚えるより、条件の日本語として読むのが近道です。
条件が長いときは、かっこで小さく区切ると読みやすくなります。
if (score >= 60) and (attendance >= 80):
print("合格")
手を動かすミニ練習
age と has_ticket を変えて、表示されるかどうかを試してみましょう。
age = 20
has_ticket = True
if age >= 18 and has_ticket:
print("入れます")
and は両方が True のときだけ通ります。片方ずつ変えると意味がつかみやすいです。
3行まとめ
- andは両方の条件がTrueのときTrue。
- orはどちらかがTrueならTrue。
- notはTrueとFalseを反対にする。