Pythonでプログラムの流れを制御する if 文などを使う際、2つの値の関係を比較する必要があります。例えば、「変数の値が100以上か」「入力されたパスワードが保存されたものと等しいか」などを判断することです。
これを実現するのが比較演算子です。比較演算子は、2つの値を比較し、その関係が正しいかどうかを**ブール値(True または False)**で返します。
この記事では、Pythonの6つの基本的な比較演算子について、具体的な例とともに解説します。
目次
6つの比較演算子
Pythonには、以下の6つの比較演算子が用意されています。
| 演算子 | 意味 | 使用例 |
== | 等しい | a == b |
!= | 等しくない | a != b |
> | より大きい | a > b |
< | より小さい | a < b |
>= | 以上(等しいか、より大きい) | a >= b |
<= | 以下(等しいか、より小さい) | a <= b |
注意:
==(等しい)と=(代入)は異なります。=は変数に値を格納する(代入する)ための演算子であり、比較には使えません。
比較演算子の使用例
比較演算子がどのように True または False を返すかを見ていきます。
1. 数値の比較
数値の大小関係を比較します。これは、制限値のチェックなどで頻繁に使用されます。
# 制限速度と現在の速度
speed_limit = 60
current_speed = 75
# 'current_speed' は 'speed_limit' より大きいか? (>)
is_over_limit = current_speed > speed_limit
print(f"速度超過: {is_over_limit}") # True
# 'current_speed' は 'speed_limit' 以下か? (<=)
is_within_limit = current_speed <= speed_limit
print(f"制限内: {is_within_limit}") # False
# 必要な在庫と現在の在庫
required_stock = 100
current_stock = 100
# 'current_stock' は 'required_stock' 以上か? (>=)
is_sufficient = current_stock >= required_stock
print(f"在庫十分: {is_sufficient}") # True
実行結果:
速度超過: True
制限内: False
在庫十分: True
2. 文字列の比較
文字列同士を比較することもできます。==(等しい)と !=(等しくない)が主に使用されます。
# 登録されたユーザーIDと入力されたID
registered_id = "admin_user"
input_id = "admin_user"
# 2つの文字列は等しいか? (==)
is_match = (registered_id == input_id)
print(f"ID一致: {is_match}") # True
# ---
# パスワードの比較(大文字と小文字は区別される)
correct_password = "PassWord123"
input_password = "password123" # 先頭が小文字
# 2つの文字列は等しくないか? (!=)
is_different = (correct_password != input_password)
print(f"パスワード不一致: {is_different}") # True
実行結果:
ID一致: True
パスワード不一致: True
if 文での直接的な利用
比較演算子の結果(True/False)は、if 文の条件式で直接利用されます。
def check_access_level(level):
"""
アクセスレベルが50以上かどうかを判定する
"""
required_level = 50
# 比較演算子 (>=) を if 文の条件式として使用
if level >= required_level:
print(f"レベル{level}: アクセスを許可します。")
else:
print(f"レベル{level}: アクセスレベルが不足しています。")
# 実行
check_access_level(70)
check_access_level(30)
実行結果:
レベル70: アクセスを許可します。
レベル30: アクセスレベルが不足しています。
まとめ
比較演算子は、プログラムの実行フローを制御するための基本的なツールです。
- 2つの値を比較し、
TrueまたはFalseのブール値を返します。 - 6種類(
==,!=,>,<,>=,<=)があります。 if文の条件式で使われ、条件がTrueの場合に特定の処理を実行させることができます。
