Pythonの論理演算子

投稿日: 2024年4月7日

Pythonの論理演算子は、真偽値(TrueまたはFalse)を操作するために使用されます。
これらは条件式が複数ある場合に、それらを組み合わせたり、条件の真偽を反転させたりする際に役立ちます。
主にand、or、notの3つの論理演算子があります。

and演算子

and演算子は、二つの条件が共にTrueである場合にのみTrueを返します。もし一方でもFalseがあれば、結果はFalseになります。
これは日常生活で言う「かつ」の条件に相当します。

内容結果
True and TrueTrue
True and FalseFalse

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 FalseTrue
False or FalseFalse

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 TrueFalse
not FalseTrue

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演算子を使うことで、「機能が無効である場合」という条件を簡潔に表現しています。

記事