ご覧いただきありがとうございます。
この記事は、比較演算子・論理演算子について優しく解説しています。
Python初心者の方はぜひご覧ください。
それでは早速学習を進めていきましょう。
Google Colaboratoryを開いて学習を進める準備をしてください。
Google Colaboratoryをインストールしていない方はこちらの記事からインストールしましょう。
目次
比較演算子
算術演算子の式は、被演算子2つと演算子1つで表すことができましたね。
算術演算子についての内容が忘却の彼方に飛んで行った方はこちらの記事で復習しましょう。
比較演算子も被演算子2つと演算子1つで式を表します。
とりあえず具体的な例をざーっと見ていきましょう。
20 > 10 20 < 30 20 >= 19 20 <= 21 20 == 20 20 != 10
さて、それぞれの各行のコードが何を表しているか分かりましたか?
ひとつずつ見ていきましょうか。
より大きい(>)
20 > 10
まずは、こちら。
20は10「より大きい」という意味ですね。
「より大きい」は「>」を使用します。
より小さい(<)
20 < 30
20は30「より小さい」という意味です。
先ほどと逆ですね。
「より小さい」は「<」を使用します。
以上(>=)
20 >= 19
20は19「以上」という意味です。
「以上」はイコールの性質も含むので、上の例だと19のところが20でもあっていることになりますね。
「以上」は「>=」で表します。
以下(<=)
20 <= 21
20は21「以下」という意味ですね。
「以下」も「以上」と同様にイコールの性質を含むので、上の例だと21のところが20でもあっていることになります。
「以下」は「<=」で表します。
等価(==)
20 == 20
20は20と「等価」という意味です。すなわち、同じ値であるということですね。
間違えやすいポイントとしては、「=」のみで表してしまうことですかね。
Pythonにおける「=」は、値を変数に割り当てる際に使用する記号です。
x = 100
print(x)
このようにxという「変数」に100を「代入」するときに「=」を使用するので、「等価」はそれと区別するために「==」と1個余分についてるんだと覚えましょう。
「等価」は「==」で表すので間違えないようにしてください。
非等価(!=)
20 != 10
20は10と「非等価」という意味です。つまり、違う値ということです。
「非等価」は「!=」で表します。
違う値だ!びっくりした!
で覚えてしまいましょう(雑)。
比較演算子を用いた式の出力結果
比較演算子を使用して記した式が正しければ、出力すると「True」と出てきます。
一方で、誤った式であると、出力した結果「False」が出てきます。
10 <= 7
こちらのコードをGoogle Colaboratoryで入力して出力してみてください。
きっと、「False」が出てくると思います。
10 <= 20
こちらはいかがですか?
「True」が出力されましたでしょうか?
比較演算子を用いた式が正しいかどうかは、コンピュータが「True」と「False」のどちらかで教えてくれます。
ぜひ覚えておきましょう。
論理演算子
まずは、こちらのコードを見て頂いて、何が起こっているのかを考えてもらいましょう。
100 == 100 and 50 == 50
左の式は100と100は等価、右の式は50と50は等価、その間の単語のandの意味とは何か??
上のコードでは、左右に比較演算子の式があり、その真ん中にandという英単語がありますね。
このように左右に式があるとき、真ん中にある英単語が、
・and
・or
・not
の3つのうちどれかだったら、その単語は論理演算子です。
これら3つの論理演算子について詳しく学習しましょう。
and(かつ)
100 == 100 and 50 == 50
こちらは先ほど紹介したコードですが。
「and」は「かつ」という意味です。
左の式も右の式も正しければ、「True」と出力されます。
上のコードではどちらの式も正しいので、「True」が出力されます。
100 == 100 and 50 == 100
一方で、こちらのコードは、左の式は「True」ですが、右の式が「False」なので、出力結果は「False」となります。
or(あるいは)
100 == 100 or 50 == 100
さきほど、「and」を含めた式で「False」となる例として示したコードですが、「or」では「True」と出力されます。
「or」は「あるいは」という意味です。
「or」は左の式と右の式のどちらか一方が「True」であれば、出力結果は「True」となります。
100 == 100 or 50 == 50
もちろん、このコードのように左右どちらの式も「True」である場合も、出力結果は「True」です。
100 == 10 or 100 == 50
一方で、こちらのコードのように左右どちらの式も「False」である場合は、出力結果は「False」です。
not(否定)
not 10 == 10
文頭に「not」をつけて、「not」以下の式が正しければ「False」、誤っていれば「True」という出力結果を示します。
上のコードでは、「not」以下の式は「True」ですので、出力結果は「False」となります。
日本語でコードの意味を書き起こすと、
10と10は等価「ではない」ですか?
いいえ、等価です。
というような感じですね。
not 10 == 11
一方で、このコードでは、「not」以下の式が「False」なので、出力結果は「True」となります。
日本語でコードの意味を書き起こすと、
10と11は等価「ではない」ですか?
はい、等価ではありません。
というような感じです。
まとめ
さて、比較演算子と論理演算子は覚えるべき演算子が多くて大変ですね。
丸暗記して覚えるよりも、やはり正しい意味を理解してコードを入力することが大切です。
不十分な理解だと感じたら迷わずその地点までもどって復習しましょう。
それでは、理解度をチェックしましょう。
・学習した比較演算子の記号と意味は対応して覚えられていますか?
・学習した論理演算子の式の出力結果はそれぞれどういう場合に「True」でどういう場合に「False」となるか説明できますか?
GitHubでの閲覧方法は次の記事を参考にしてください。
それではまた次回お会いしましょう。
おぎー
“【Python初心者】比較演算子・論理演算子” への2件の返信