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

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

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

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

関連記事

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

Pythonの条件分岐とは?if文・else・elifの使い方
関連記事

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

Pythonのループ処理

論理演算子とは?

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

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

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

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

andの意味と使い方

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

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

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

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

orの意味と使い方

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

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

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

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

notの意味と使い方

条件の否定

「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の演算子に関する記事たち
5

当ブログではPython初心者が独学で習得するためのカリキュラムを公開中!

初心者がPythonを独学で習得できたロードマップはコチラ

Pythonの論理演算子「and・or・not」の意味と使い方
最新情報をチェックしよう!