<一覧に戻る

Pythonの論理演算子(and、or、not)

Pythonのプログラミングでは、条件分岐(if文など)を扱う場面が多くあります。

その中で非常に重要なのが 論理演算子(and、or、not)です。論理演算子を使うと、複数の条件をまとめてチェックしたり、条件の真偽を反転させたりすることができます。これを理解することで、プログラムの処理をより柔軟にコントロールできるようになります。

Pythonでよく使われる論理演算子は次の3つです。

  • and:両方の条件が真(True)のときだけ真を返す
  • or:少なくとも一方の条件が真(True)のときに真を返す
  • not:条件の結果を反転させる(True → False、False → True)

これらを組み合わせることで、「AかつB」「AまたはB」「Aではない」といった論理的な判断をコードに表現できます。 以下で、それぞれの使い方を詳しく解説していきます。

and演算子の使い方

and は「かつ」を意味し、両方の条件がTrueである場合のみTrueになります。

たとえば「18歳以上で、かつ学生である場合」を条件にする場合、次のように書くことができます。

# 条件を定義
age = 20
is_student = True

# and 演算子を使用して条件を評価
if age >= 18 and is_student:
    print("あなたは成人の学生です。")
else:
    print("あなたは成人でないか、学生でないかのいずれかです。")

この例では、age >= 18 の結果がTrueであり、is_student もTrueなので、and の判定はTrueとなり「あなたは成人の学生です。」と表示されます。

or 演算子の使い方

次に or 演算子です。

これは「どちらか一方でも条件を満たせばTrueになる」という特徴があります。 例えば「未成年である、または学生である」という条件を表現すると次のようになります。

# 条件を定義
age = 16
is_student = True

# or 演算子を使用して条件を評価
if age < 18 or is_student:
    print("あなたは未成年か、学生です。")
else:
    print("あなたは成人の学生ではありません。")

この場合、age < 18 がTrueで、さらに is_student もTrueであるため、結果はTrueとなり「あなたは未成年か、学生です。」と表示されます。

not 演算子の使い方

最後に紹介するのが not 演算子です。

これは「条件の真偽を反転させる」ために使われます。 例えば「認証されていない場合」という条件を表現したいときに便利です。

# 条件を定義
is_authenticated = False

# not 演算子を使用して条件を評価
if not is_authenticated:
    print("あなたは認証されていません。")
else:
    print("あなたは認証されています。")

この例では、is_authenticated が False ですが、not によってTrueに反転されるため、「あなたは認証されていません。」と出力されます

まとめ

今回学習した論理演算子を使うことで、複雑な条件を簡潔に表現することができます。 これらの演算子を活用し、条件分岐や論理的な判断を行う際の基礎をしっかりと身につけましょう。

出力結果: