1
3

More than 3 years have passed since last update.

【python】if文

Posted at

if文

何かを基準に処理を分けたい場合に、if文を用いる。
記述方法はif 条件式 :である。
条件式がTrueの時に、if文内の処理が実行される。
(条件式がTrueとは、例えば5>3など。一方でFalseになるときは5<3の時など)

if.py
a=1
b=3
if a>2 : #条件式が満たされない
   print("a")
if b>2 : #条件式が満たさる
   print("b")
>>>b

elif文

上記のようにif文だけで条件を分岐することは可能であるが、
例えば、Aかどうか、AでないならBなのか、それ以外なのか
といった場合に、上のif文のみで記述すると以下になる。

if.py
m=3
if m==A : # mがAであるかどうか
   print("a")
if m!=A and m==B: # mがAでなく、mがBであるか
   print("b")
if m!=A and m!=B: # mがAでなく、mがBでもない
   print("c")

ただ、この条件分岐は一番最初にAかどうかで判断してるにもかかわらず、
次の条件式にもAでないという事の条件が入ってくる。(二度手間)

これを改善するのがelifである。
elifはifとセットで使われる。決してelif単体で使用されることはない。
ifではじかれた条件に対して次の条件を適用するのが、elifである。

elifは一つのifに対して複数回記述することが出来るが、あるところで条件を満たした場合
それ以降のelif文(else文も含めて)は評価されない。

記述方法はelif 条件式 :である

if.py
m=3
if m==A : # mがAであるかどうか
   print("a")
elif m==B: # mがAでなく、mがBであるか
   print("b")
elif m!=B: # mがAでなく、mがBでもない
   print("c")

else文

先の例で、最後の判定を考える。
最後の判定はAでもBでもない場合に出力される。
要するに、すべての条件の外にある=その他の場合に出力される結果と考えることが出来る。

このような、ある条件を満たさないもの全てに対して処理を行いたい場合にelseを使う。
記述方法はelif :である。

先の例をこれを使って書き換えると以下になる。

if.py
m=3
if m==A : # mがAであるかどうか
   print("a")
elif m==B: # mがAでなく、mがBであるか
   print("b")
else: # mがAでなく、mがBでもない → その他の場合
   print("c")
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3