普通は if 文はもっと早く説明するだろう, と思って, カーニハン・リッチー
のやさしい入門の章をながめてみたら, なんと! while をやって for を
やった後で if をやっているではないか! うむうむ. ちょっと安心ですね.
さて, if の基本的な使い方は,
if 条件: ブロックで, 条件がみたされているときにブロック部分を実行し, そうでないときは ブロック部分を実行せずに, ブロック部分の後に進む.
# if の例 a = 2 if a > 0: print '正です' if a < 0: print '負です' print 'おしまい'上の例では, 最初の if 文の条件は正しいので, そのブロックは実行され, ふたつ目の if 文の条件は正しくないので, そのブロックは実行せずに 最後の行へと進む. よって実行結果は次の通りになる:
正です おしまい
if 文の次のパターンは, if と else の組合せで,
if 条件: ブロック1 else: ブロック2である. 条件がみたされているときには, ブロック1 が実行され, そうでないときには, ブロック2 が実行されて, 次の行へと進む.
if a >= 0: print '0 か 正' else: print '負' print 'おしまい'この実行結果は
負 おしまいとなる.
if 文のもうひとつのパターンは, if, elif, else を使うものである. ここで, elif は「else if」, つまり「そうでなくて, もしも」 という意味. elif は 2 回以上使ってもかまわない. 使い方は, たとえば,
if 条件1: ブロック1 elif 条件2: ブロック2 elif 条件3: ブロック3 else: ブロック4のようである. ここでは, elif は 2 回使っているが, もちろん 1 回でも 3 回以上使っても構わない. 上の例では,
#if, elif, else の例 a = 100 if a < 0: print '負' elif a < 10: print '小さい' elif a < 1000: print '普通かな?' else: print '大きい' print 'おしまい'実行結果は
普通かな? おしまいとなる.
if 文のブロックの中に if 文を入れ子で使っても, 構わない:
# if の入れ子の例 a = 20 if a >= 0: if a % 2 == 0: print '偶数' else: print '奇数' else: print '負の数'