比較演算子・論理演算子

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

比較演算子

if文で条件式を書く場合、他言語と同様に、Pythonでも比較演算子を用いることが多いです。

スポンサーリンク

Pythonの比較演算子は、ほとんどの言語と共通で分かりやすいです。

==   a == b   aがbと等しい
!=    a != b    aがbと等しくない
<    a < b    aがbよりも小さい(bは含まない) >    a > b    aがbよりも大きい(bは含まない)
<=   a <= b   aがb以下(bを含む) >=   a >= b   aがb以上(bを含む)

論理演算子

また、条件を2つ以上組み合わせて、条件式を組むことができ、この時用いるのが、論理演算子です。

and   a > b and c < d   a > b かつ c < d のとき真 or    a > b or c < d    a > b または c < d のとき真 not   not a > b       a > b でないときに真

for i in range(1, 21):
    if i % 3 == 0 and i % 2 != 0:
        print i

上記コードは、1から20までの数字の範囲で・・・
i % 3 == 0 かつ i % 2 != 0 を満たすときに、数字を表示せよという意味です。
つまり、3の倍数、かつ2の倍数でないとき、という条件式であり、実行結果は・・・

3
9
15

となります。

if not i % 2 == 0 and i % 3 == 0:

上の条件式の場合、not(否定)は、どの部分にかかるでしょうか。
Pythonの場合、notは文全体でなく、i % 2 == 0の部分のみにかかります。
よって、一つ上の例で使った「if i % 3 == 0 and i % 2 != 0:」と同じ条件式を表すことになります。

否定などで、条件式に影響を及ぼす範囲が分かりにくい場合は、括弧( )で囲んでやったほうが分かりやすいです。

条件式の文全体を否定するのなら、「if not (i % 2 == 0 and i % 3 == 0):」。
一部分を否定するのなら、「if (not i % 2 == 0) and i % 3 == 0:」。
といった感じで。

比較演算子の連結

Pythonでは、比較演算子の条件式で、便利で面白い書き方をできます。

for i in range(20):
    if 5 < i <= 12:
        print i

この書き方で、5より大きく12以下のときに、数字を表示せよ、という意味になります。
とても数学的な書き方ですね。

実行結果。

6
7
8
9
10
11
12
スポンサーリンク
 
スポンサーリンク