Pythonの論理演算子は、真偽値(TrueまたはFalse)を操作するために使用されます。
これらは条件式が複数ある場合に、それらを組み合わせたり、条件の真偽を反転させたりする際に役立ちます。
主にand、or、notの3つの論理演算子があります。
and演算子
and演算子は、二つの条件が共にTrueである場合にのみTrueを返します。もし一方でもFalseがあれば、結果はFalseになります。
これは日常生活で言う「かつ」の条件に相当します。
内容 | 結果 |
---|---|
True and True | True |
True and False | False |
and演算子の使用例
例1: 年齢と学生ステータスをチェック
学生割引を受けるためには、年齢が18歳以上であり、かつ学生である必要があるとします。この条件をチェックする場合、and演算子を使用して以下のように記述できます。
age = 20
is_student = True
if age >= 18 and is_student:
print("学生割引が適用されます。")
else:
print("学生割引の条件を満たしていません。")
この例では、ageが18歳以上かつis_studentがTrue(学生である)場合にのみ、「学生割引が適用されます。」と出力します。
例2: ログイン情報の検証
ユーザー名とパスワードが正しいことを確認してログインする場合、and演算子を使用して両方の条件をチェックします。
username = "user1"
password = "securepassword"
if username == "user1" and password == "securepassword":
print("ログインに成功しました。")
else:
print("ユーザー名またはパスワードが間違っています。")
この例では、usernameが”user1″であり、かつpasswordが”securepassword”である場合にのみ、「ログインに成功しました。」と出力します。
一方の条件でも満たされない場合は、ログイン失敗と判断されます。
or演算子
or演算子は、二つの条件のうち少なくとも一方がTrueであればTrueを返します。
両方がFalseである場合のみ、結果はFalseになります。
これは日常生活で言う「または」の条件に相当します。
内容 | 結果 |
---|---|
True or False | True |
False or False | False |
or演算子の使用例
例1: 年齢または会員ステータスをチェック
映画の割引を受けるためには、年齢が60歳以上であるか、または会員である必要があるとします。
この条件をチェックする場合、or演算子を使用して以下のように記述できます。
age = 65
is_member = False
if age >= 60 or is_member:
print("割引が適用されます。")
else:
print("割引の条件を満たしていません。")
この例では、ageが60歳以上であるか、is_memberがTrue(会員である)場合に「割引が適用されます。」と出力します。一方の条件でも満たされれば割引が適用されるため、or演算子が適切です。
例2: 休日または休暇日のチェック
特定の日が休日または休暇日であるかどうかを確認する場合、or演算子を使用します。
is_holiday = False
is_vacation = True
if is_holiday or is_vacation:
print("今日は仕事を休みます。")
else:
print("今日は仕事の日です。")
この例では、is_holidayがTrue(休日である)か、is_vacationがTrue(休暇日である)場合に「今日は仕事を休みます。」と出力します。
どちらか一方の条件が満たされれば休みと判断されます。
not演算子
not演算子は、単一の条件の真偽値を反転させます。
つまり、TrueをFalseに、FalseをTrueに変えます。
これは日常生活で言う「~ではない」の条件に相当します。
内容 | 結果 |
---|---|
not True | False |
not False | True |
not演算子の使用例
例1: 条件が満たされていないことをチェック
ログインシステムにおいて、ユーザーがログインしていない場合にログインページにリダイレクトするという処理を行いたい場合、not演算子を使用できます。
is_logged_in = False
if not is_logged_in:
print("ログインページにリダイレクトします。")
else:
print("ようこそ、ユーザーさん。")
この例では、is_logged_inがFalse(ログインしていない)場合に、「ログインページにリダイレクトします。」と出力します。not演算子によってis_logged_inの真偽値が反転されているため、条件は「ログインしていない場合」を表しています。
例2: フラグがオフであることを確認
特定の機能が無効にされていることを確認して、それに応じた処理を行う場合にもnot演算子が役立ちます。
feature_enabled = False
if not feature_enabled:
print("この機能は現在利用できません。")
この例では、feature_enabledがFalse(機能が無効)である場合に、「この機能は現在利用できません。」と出力します。not演算子を使うことで、「機能が無効である場合」という条件を簡潔に表現しています。