最終更新:
jade_python 2013年02月25日(月) 23:55:08履歴
システムコードにおいてif文が果たす役割はかなり大きい。
というよりもif文がないシステムなどあり得るのだろうか?
そのくらいインパクトのある制御文である。
if文はその名の通り、条件によって処理の流れを変える制御文である。
要するに、「○○ならば△△の処理をし、□□ならば××の処理をしなさい」という条件付けをするのである。
コードの中で、僕が一番好きな記述がif文なんです。
だって、if文を書いて、その通りにシステムが動くと
まさに「システムを牛耳ってやったぜ!」って感じがするでしょ(笑)
というよりもif文がないシステムなどあり得るのだろうか?
そのくらいインパクトのある制御文である。
if文はその名の通り、条件によって処理の流れを変える制御文である。
要するに、「○○ならば△△の処理をし、□□ならば××の処理をしなさい」という条件付けをするのである。
コードの中で、僕が一番好きな記述がif文なんです。
だって、if文を書いて、その通りにシステムが動くと
まさに「システムを牛耳ってやったぜ!」って感じがするでしょ(笑)
システムによってはif文を単独で用いることもあるだろうが、
僕が書いているコードでは大抵for文のなかにif制御文がくる。
そこで、if文の働きを実感するために、forループ内での変数「i」の違いによるシステムの流れを追ってみよう。![](https://image02.seesaawiki.jp/p/t/python-project/9a0063d44707fac1.png)
コードを実行すると、右図のような結果がターミナルに出力される。
このプログラムはrange()で生成される値(変数「i」)を3で割ったときの余りの違いで
以降の処理を制御している(分岐処理)。
ちなみにx % yの%は「xをyで割ったときの余り」を返り値とする。
また、if文において「等しい(同値)」をあらわす等号記号は「==」とイコールを2つ重ねることに注意しよう。
上記コードを見て明らかなように、if文では次のような形式を基本構造としている。
ちなみにifとelseの間に挟むelif分岐はいくつあってもよい。
もちろんひとつも挟まなくてもよい。
if構文内では、時によって
・ループ処理から抜けたい
・特に何もしない分岐を作りたい(←システムにおいては非常に大切になるときがある)
など、様々な(+α)処理が必要なときがある。
このような場合の構文については「break」ページを参照してほしい。
python-project
僕が書いているコードでは大抵for文のなかにif制御文がくる。
そこで、if文の働きを実感するために、forループ内での変数「i」の違いによるシステムの流れを追ってみよう。
![](https://image02.seesaawiki.jp/p/t/python-project/9a0063d44707fac1.png)
for i in range(10): if i % 3 == 0: print i , 'は3の倍数です' elif i % 3 == 1: print i , 'を3で割った余りは1です' else: print 'それ以外の数字です'
コードを実行すると、右図のような結果がターミナルに出力される。
このプログラムはrange()で生成される値(変数「i」)を3で割ったときの余りの違いで
以降の処理を制御している(分岐処理)。
ちなみにx % yの%は「xをyで割ったときの余り」を返り値とする。
また、if文において「等しい(同値)」をあらわす等号記号は「==」とイコールを2つ重ねることに注意しよう。
上記コードを見て明らかなように、if文では次のような形式を基本構造としている。
ちなみにifとelseの間に挟むelif分岐はいくつあってもよい。
もちろんひとつも挟まなくてもよい。
if (条件式1):
tab処理コード1
elif (条件式2):
tab処理コード2
elif (条件式3):
tab処理コード3
else:
tab条件式1〜3以外の場合に適応される処理
if構文内では、時によって
・ループ処理から抜けたい
・特に何もしない分岐を作りたい(←システムにおいては非常に大切になるときがある)
など、様々な(+α)処理が必要なときがある。
このような場合の構文については「break」ページを参照してほしい。
python-project
このページへのコメント
vfcLnF <a href="http://zwgrnejxnaov.com/">zwgrnejxnaov</a>, [url=http://lmetneqdtrow.com/]lmetneqdtrow[/url], [link=http://bcbututflhdg.com/]bcbututflhdg[/link], http://hbonhpfbbjhi.com/
CsHwla <a href="http://eksfgbfauzyu.com/">eksfgbfauzyu</a>, [url=http://lxfpubjulnvx.com/]lxfpubjulnvx[/url], [link=http://dkkxlbtpygvh.com/]dkkxlbtpygvh[/link], http://fydyuqroxfub.com/