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 < y | x が y より小さい |
<= | x <= y | x が y 以下 |
> | x > y | x が y より大きい |
>= | x >= y | x が y 以上 |
== | x == y | x と y の値が等しい |
!= | x != y | x と y の値が等しくない |
is | x is y | x と y のオブジェクトが同じ |
is not | x is not y | x と y のオブジェクトが違う |
in | x in y | x が y に含まれる |
not in | x not in y | x が y に含まれない |
条件が成り立つと True、 成り立たないと False の値を返します。
論理値(bool)
データの型の1つ bool 型は True(真) または False(偽) で表されます。 最初の1文字は 大文字で記述します。
if True:
print("OK!")
OK!
コメント