Pythonの論理演算子「and・or・not」の意味と使い方

Pythonの比較演算子「and・or・not」の意味や使い方と優先順位を解説していきます。

if文やwhile文の条件文を書くときに使われるのが比較演算子ですが、それと合わせてこの「and・or・not」を使えるとより複雑な条件文を書くことができます。

if文やwhile文の詳しい内容は以下の記事をご覧ください。

関連記事

Pythonの条件分岐に使われるif文の基本的な書き方を紹介していきたいと思います。そもそも条件分岐とは何か?if文を書くときの注意点を見ていきましょう。 条件分岐とは 条件によって処理を分けることを条件分岐と言います。分岐の[…]

関連記事

Pythonのループ処理に使われるfor文とwhile文の解説です。ループ処理とは何かの解説とこれらの構文の使い方や違を初心者向けに説明していきます。 ループ処理とは? ループ処理は繰り返し処理ともいわれます。名前の通り同じプ[…]

論理演算子とは?

論理演算とは与えられた条件の真偽を判定することを言います。プログラミングでは真をTrue、偽をFalseで判定します。

「犬は哺乳類である」これは真になります。というように真偽の判定をします。高校数学Aの論証のところで習ったのを思い出しましょう。

TrueとFalseの2つデータ型のことをbool型といいます。if文やwhile文の条件文に使います。

この論理演算で複数の条件を判断したいときに使うのが「and・or」などの論理演算子です。また、否定を表す「not」も論理演算子と言われます。ブール演算子と言われることもあります。

andの意味と使い方

条件式結果
真 and 真True
真 and 偽False
偽 and 真False
偽 and 偽False

「and」は「かつ」という意味です。「A and B」と書いて「条件Aかつ条件Bが真のときに全体としてTrueを返します。

1つ目のように両方の条件が真でないと全体として真になりません。

また、andは2個以上の条件をつなげることができますが、その場合もすべての条件が真でないとTrueにはなりません

orの意味と使い方

条件式結果
真 or 真True
真 or 偽True
偽 or 真True
偽 or 偽False

「or」は「または」という意味です。「A or B」と書いて「AまたはB」が真のときTrueを返します。どちらか一つの条件が真ならTrueになります。

一番最後のように両方共の条件が偽のときに限りFalseになります。

もちろん、3つ以上の条件を判定する場合も少なくとも一つ真の条件があればTrueになります

notの意味と使い方

  • 条件の否定
    • Trueとfalseが逆転します
  • and・orの否定
    • andとorが逆転します。

条件の否定

「not」は「否定する」という意味です。「not A」と書いて「条件Aの否定」を表します。

条件の真偽の逆の値を返すと覚えておきましょう。条件Aが真ならその否定は偽になりますし、逆もまた然りです。

「5 > 0」はTrueですが、その否定は逆の真偽値になるのでFalseになります。「5 != 0」の場合も同様に、この条件はFalseですが、その否定は逆のTrueになります。

  1. 条件の真偽を判定
  2. 「not」があれば真偽を逆にする

and・orの否定

  • 「and」の否定は「or」
  • 「or」の否定は「and」
  • 「not (A and B)」のとき「(not A) or (not B)」となる
    • それぞれの条件A,Bの否定
    • 「and」が「or」に変わる
  • 「not (A or B)」のとき「(not A) and (not B)」となる
    • それぞれの条件A,Bの否定
    • 「or」が「and」に変わる

条件の否定も忘れずに!!

まとめ

  • 「not」は条件の否定
  • 「and」は「かつ」
  • 「or」は「または」

関連記事

プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]