
はじめてのPython | 第8回
1. はじめに
この回では、条件式を書くときに使う比較演算子と論理演算子を学びます。if 文では、条件が成り立つかどうかを判定する必要があります。
その判定に使うのが、== != < <= > >= と and or not です。これらを使うと、値を比べたり、複数の条件を組み合わせたりできます。
2. この回で学ぶこと
==!=の意味<<=>>=の意味- 比較結果として
TrueとFalseが返ること andornotの使い方- 条件式を組み合わせる基本
3. 概念の説明
比較演算子は、2つの値を比べるための記号です。比較した結果は、True または False になります。
True: 条件が成り立つFalse: 条件が成り立たない
たとえば、次のように使います。
print(5 == 5)
print(5 != 3)
print(10 < 20)
print(10 >= 15)この結果は、上から順に True True True False です。
それぞれの意味は次のとおりです。
==: 左右が等しい!=: 左右が等しくない<: 左が右より小さい<=: 左が右以下>: 左が右より大きい>=: 左が右以上
次に、論理演算子を使うと複数の条件をまとめて書けます。
and: 両方の条件がTrueのときだけTrueor: どちらか一方でもTrueならTruenot:TrueとFalseを反転する
たとえば次のように書けます。
print(10 >= 0 and 10 <= 100)
print(5 < 3 or 8 < 10)
print(not 5 == 5)4. サンプルコード
次のコードを見てください。
age = 20
score = 75
print(age >= 18)
print(score == 100)
print(score != 0)
print(age >= 18 and score >= 60)
print(age < 18 or score >= 60)
print(not score == 100)このコードでは、比較演算子と論理演算子の結果をそのまま表示しています。
5. 実行手順
まず、operators.py というファイルを作ります。
touch operators.pyoperators.py をエディターで開き、次のコードを書いて保存します。
age = 20
score = 75
print(age >= 18)
print(score == 100)
print(score != 0)
print(age >= 18 and score >= 60)
print(age < 18 or score >= 60)
print(not score == 100)保存したら、ターミナルで次のコマンドを実行します。
python3 operators.py実行結果は次のようになります。
True
False
True
True
True
Trueage や score の値を変更して、結果がどう変わるか確認してください。
6. コードの読み方
age >= 18は、ageが 18 以上かどうかを調べています。- この例では
ageは 20 なので、結果はTrueです。 score == 100は、scoreが 100 と等しいかどうかを調べています。scoreは 75 なので、結果はFalseです。score != 0は、scoreが 0 ではないかどうかを調べています。- 75 は 0 ではないので
Trueになります。 age >= 18 and score >= 60は、2つの条件がどちらも成り立つかを調べています。- この例では両方とも
Trueなので、全体もTrueです。 age < 18 or score >= 60は、どちらか一方が成り立つかを調べています。age < 18はFalseですが、score >= 60はTrueなので、全体はTrueです。not score == 100は、score == 100の結果を反転しています。- もとの結果が
Falseなので、notを付けるとTrueになります。
7. 初学者がつまずきやすい点
=は代入、==は比較なので意味が違う- 比較演算子の結果は数値ではなく
TrueまたはFalse andは両方が成り立つ必要があるorは片方だけ成り立ってもTrueになるnotは直後の条件結果を反転する
特に、if score = 100: のように = を使う書き方はできません。比較したいときは == を使います。
8. よくあるエラー
1つ目は、= と == を混同した場合です。
SyntaxError: invalid syntaxたとえば次のような書き方です。
score = 75
if score = 75:
print("同じです")2つ目は、and や or を使うときに左右の条件を書いていない場合です。
SyntaxError: invalid syntaxたとえば次のような書き方です。
print(10 > 5 and)3つ目は、文字列と数値を比較して意図しない結果になる場合です。
age = "20"
print(age == 20)このコードはエラーにはなりませんが、結果は False です。左側は文字列の "20"、右側は数値の 20 で、型が違うためです。
9. 練習用コード
次のコードを practice_operators.py として保存して実行してください。
price = 1200
point = 300
print(price > 1000)
print(point == 300)
print(price <= 800)
print(price > 1000 and point >= 300)
print(price < 1000 or point >= 300)
print(not point == 0)実行したあとで、それぞれの行が True になるか False になるかを先に予想してください。
余裕があれば、if 文と組み合わせて、条件によってメッセージを表示する形に変えてみてください。
10. この回で理解しておくこと
- 比較演算子は値を比べて
TrueまたはFalseを返す ==は等しい、!=は等しくないことを表す<<=>>=は大小関係を表すandornotを使うと条件を組み合わせられる=と==は役割が異なる
11. まとめ
今回は、比較演算子と論理演算子の基本を確認しました。
条件式が正しく書けるようになると、if 文や while 文で必要な判定を正確に書けるようになります。
True と False の結果を意識しながら読むと、条件式の意味を理解しやすくなります。
12. 次回予告
次回は、for 文を使って繰り返し処理を学びます。同じ処理を決まった回数だけ実行する基本を確認します。











