<一覧に戻る

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

論理演算子は、条件の組み合わせや真偽値の操作を行う際に使用されます。Pythonでは、主に以下の3つの論理演算子が用意されています。

  • and: 両方の条件が真である場合に真を返す。
  • or: 少なくとも一方の条件が真である場合に真を返す。
  • not: 条件の真偽を反転させる。

これらの演算子を使った実践的なサンプルコードを見ていきましょう。

1. and 演算子

and 演算子は、両方の条件が真である場合にのみ真を返します。

サンプルコード

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

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

解説

  • age >= 18True です。
  • is_studentTrue です。
  • 両方が True のため、and 演算子は True を返し、"あなたは成人の学生です。" と出力されます。

2. or 演算子

or 演算子は、少なくとも一方の条件が真である場合に真を返します。

サンプルコード

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

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

解説

  • age < 18True です。
  • is_studentTrue です。
  • or 演算子は、いずれかが True のため、"あなたは未成年か、学生です。" と出力されます。

3. not 演算子

not 演算子は、条件の真偽を反転させます。

サンプルコード

# 条件を定義
is_authenticated = False

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

解説

  • is_authenticatedFalse ですが、not 演算子によって True に反転します。
  • そのため、"あなたは認証されていません。" と出力されます。

4. 複数の論理演算子の組み合わせ

論理演算子は組み合わせて使用することもできます。

サンプルコード

# 条件を定義
age = 22
is_student = False
has_discount = True

# 複数の論理演算子を使用して条件を評価
if (age >= 18 and not is_student) or has_discount:
    print("あなたは割引を受ける資格があります。")
else:
    print("あなたは割引を受ける資格がありません。")

解説

  • age >= 18True です。
  • is_studentFalse ですが、not 演算子で True になります。
  • has_discountTrue です。
  • and 演算子の結果は True で、or 演算子も True になるため、"あなたは割引を受ける資格があります。" と出力されます。

まとめ

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

出力結果: