Python学習講座

PythonエンジニアによるPython3学習サイト

入門編 条件分岐と比較

if文

2018/05/08


以前のページですでに登場したif文ですが、このページではif文について詳しく説明します。

if文

Pythonのif文は以下の書式となります。

if 論理式 :

例えば、xが0かどうかを判定する場合、以下のようになります。

x = 0
if x == 0:
    print('x = 0') # ここが出力される

else文

if文の条件を満たさないような場合にも別途処理をしたい場合、else文を使用します。
例えば、xが0の場合とそれ以外の場合で処理を分けたい場合、以下のように記述します。

x = 1
if x == 0:
    print('x = 0')
else:
    print('x != 0') # こちらが出力される

elif文

複数のif文を使いたい場合、elifを使用します。else ifの略ですね。else文とも組み合わせて使うことができます。
例えば、xが0の場合と1の場合とそれ以外の場合で処理を分けたい場合、以下のように記述します。

x = 1
if x == 0:
    print('x = 0')
elif x == 1:
    print('x = 1') # こちらが出力される
else:
    print('x != 0 ans x != 0')

真偽値の評価

Pythonでは偽と判定されるものはFalse以外にも多数あるので注意してください。

  • False
  • None
  • ゼロと同値
  • __len__メソッドが定義されている型のオブジェクトで0が返された場合
  • __nonezero__メソッドが定義されている型のオブジェクトでFalseが返された場合

4番目の具体例ですが、空のシーケンス、マップ、set(''、]、()、{})などが該当します。いずれも空の場合はlen関数の値が0になります。

サンプルで動作を確認してみましょう。

if 1:
    print('True') # Trueが出力される
else:
    print('False')

if 0:
    print('True')
else:
    print('False') # Falseが出力される
    
if 0.0:
    print('True')
else:
    print('False') # Falseが出力される
    
if 0.1:
    print('True') # Trueが出力される
else:
    print('False')

if []:
    print('True')
else:
    print('False') # Falseが出力される

if ():
    print('True')
else:
    print('False') # Falseが出力される

if None:
    print('True')
else:
    print('False') # Falseが出力される

if "":
     print('True')
else:
    print('False') # Falseが出力される

また、サンプルの最後の例のとおり、文字列もシーケンスの一種なので、から文字列は長さ0、つまりFalseと評価されます。

-入門編, 条件分岐と比較
-