MOの気になることを適当に伝えるブログ

moNote

Python

Python - if 文

投稿日:

Python の if文 の説明。

if と インデント

num = 11

if num > 10:
    print("BIG")
    print("BIG")
    print("BIG")
print("Next")
BIG
BIG
BIG
Next
num = 10

if num > 10:
    print("BIG")
    print("BIG")
    print("BIG")
print("Next")
Next

if 条件 : で 条件が真の場合 インデントされたブロックを実行します。

C、C++、C# では { ... } で囲むことでブロック(複文)を構成しますが、Python ではインデント (行頭の空白文字の数)が重要な意味を持ち、同じ数の空白でインデントされた文がブロックとみなされます。

num = 11

if num > 10:
    print("BIG")
    print("BIG")
        print("BIG")   # ここでエラーになる

同じ位置にインデントされている文が同じブロックとして扱われるので、インデントの数がずれていると別のブロックと判断されます。新しいブロックが出てくるべきではないところでインデントが異なる文を書くとエラーとなってしまいます。

else

else は 他の言語でも 多くみられるものと同様です、if  で指定した 条件以外の時 処理する ものを記述します。 下のコードでは「numが10より大きい時以外」になります。

num = 10

if num > 10:
    print("BIG")     # 条件が成り立つ時
    print("BIG") 
else:
    print("SMALL")   # 条件が成り立たない時
    print("SMALL")
SMALL
SMALL

if ~ else の場合、条件式は必ず真か偽のどちらかとなりますので、真の時のブロックか偽の時のブロックかどちらか必ず一つのブロック内の文を実行することになります。

elif

elif を使うと いままでの if 文の単独の条件式だけではなく、複数の条件式を使った条件分岐を記述することもできます。

num = 11

if num < 0:
    print("SMALL")
elif num == 0:
    print("ZELO")
elif num > 10 :
    print("BIG")
else:
    print("NORMAL")
BIG

公式の説明では else if を短くしたものと記載があります。 つまり C言語などにおける else if  に相当するということです。上では 2回 使用していますが if文 内で 何個 あってもOKです。

num = 100

if num > 10:
    print("NORMAL")
elif num > 20:
    print("BIG")
else:
    print("SMALL")
NORMAL

最初に 条件を満たした ブロックのみが 処理対象になります。

比較演算子

演算子使い方条件
<x  <  yx が y より小さい
<=x  <=  yx が y 以下
>x > yx が y より大きい
>=x >= yx が y 以上
==x == yx と y の値が等しい
!=x != yx と y の値が等しくない
isx is yx と y のオブジェクトが同じ
is notx is not yx と y のオブジェクトが違う
inx in yx が y に含まれる
not inx not in yx が y に含まれない

条件が成り立つと True、 成り立たないと False の値を返します。

論理値(bool)

データの型の1つ bool 型は True(真) または False(偽) で表されます。 最初の1文字は 大文字で記述します。

if True:
    print("OK!")
OK!

-Python
-

Copyright© moNote , 2020 All Rights Reserved Powered by STINGER.