if文

広告

プログラムは記述した順に実行されていきます。ただある条件によって処理を分けたい場合もあります。例えば変数の値が正の数ならこちらの処理を行い負の数ならこちらの処理を行うといった場合です。

このように条件に従って処理を分岐させるための使われるのが「if」文です。「if」文の書式は次のようになっています。

if 条件式:
  条件式が真の時に実行する処理1
  条件式が真の時に実行する処理2

「if」文ではまず処理を実行するかどうかを決める条件式を記述します。ここで指定した条件が成立する場合に次の行以降の処理が行われます。条件式の後にコロン「:」を記述した後で次の行から条件式が成立した時に実行する文を記述していきます。

「if」文は複合文と呼ばれるものの1つです。複合文とは他の文を内部に持ち、内部の文を実行するかどうかなどの制御をコントールするものです。今回の場合は条件式が成立する時に実行される文を「if」文は内部に持っています。そして実行される複数の文はブロックという単位でまとめられます。

他のプログラミング言語では「{」から「}」までをブロックとしたり、「if」文などの次の行から「end」が現れるまでをブロックにする場合が多いですが、Pythonでは文のインデントだけでそれを表します。詳しくは「複合文とブロック」を参照して下さい。

条件式の記述方法は別のページで詳しく確認します。次の例ではif文の条件式として変数に代入された数値の値を「0」と比較しています。

amari = 10 % 3

if amari != 0:
  print u"割り切れませんでした"
  print u"余りは", str(amari), u"です"

条件式が成り立つ時を「条件式が真」と言います。また条件式が成り立たない時を「条件式が偽」と言います。今回は条件式が変数「amari」が参照している数値が0ではない時が条件式が真となり、そしてブロック内の2つの文が実行されることになります。

サンプルコード

では実際に試してみます。

#coding: UTF-8

amari = 10 % 3

if amari != 0:
  print u"割り切れませんでした"
  print u"余りは", str(amari), u"です"

上記を「test1-1.py」として保存します。保存する時の文字コードはUTF-8です。そして次のように実行して下さい。

if文

( Written by Tatsuo Ikura )