ITメモ
Python / パイソン




【Python】制御構文(if・While・for)の使い方

【Python】
制御構文(if・While・for)の使い方







はじめに



「Python」の「制御構文」では、
「区切り文字」を最後に入力しないので、
「制御構文」のプログラムは、
「インデント(文字前空白)」を入力することで、
前にある「制御構文」の「プログラムコード」だと明記することになっている。


Back

制御構文(if・While・for)は、「条件式」の後に「インデント」が記述されている「プログラムコード」が実行される



「Python」の「制御構文」は、
他のプログラミング言語とは、少し異なる。
「プログラムコード」の「区切り文字」を入力しないので、
「制御構文」で実行する「プログラミングコード」の分別に、
「インデント」で判断するようになった。

「制御構文」の「条件式」の後に、
「インデント(文字前空間)」を入れるこっとで、
「条件式」で実行される「プログラミングコード」と認識される。


「Python」の「条件式」を、
下記「制御構文のサンプルコード」のように入力した場合、
実行されるプログラミングコードは、

・実行プログラム1
・実行プログラム2

・実行プログラム5

・実行プログラム7

になる。



「制御構文」の「サンプルコード」

if 条件式:
    実行プログラム1
    実行プログラム2
実行プログラム3
実行プログラム4

elif 条件式:
    実行プログラム5
実行プログラム6

else:
    実行プログラム7
実行プログラム8


Back

もし~ならば(if, else, elsif)



「if構文」は、「もし」という意味で、
条件式が「真」であれば、
インデントされた実行プログラムを実行し、
「偽」であれば、「else」のインデントされた実行プログラムが実行される。

「if構文」では、
「False」「数値の 0 や 0.0」「空文字("")」「空リスト([])」「空タプル(())」「空辞書({})」などを「偽」
と判断する。


if 条件式:
実行プログラム
実行プログラム
実行プログラム
実行プログラム
elif 条件式:
実行プログラム
else:
実行プログラム


Back

~のあいだ(while, else)


「while構文」は、条件式を満たす間、ずっと実行プログラムを実行する条件構文。


書式

while 条件式:
実行プログラム
else:
実行プログラム


Back

~のあいだ(for, in)



「for構文」は、条件式に置かれた「リスト」「タプル」の各要素、「辞書」のキー、文字列の各文字、ファイルの各行など、全ての要素に対して、繰り返し実行プログラムが実行される。


書式

for 変数 in 条件式:
実行プログラム
else:
実行プログラム


サンプルコード

for n in [1, 2, 3]:
print n # 出力結果 : 1, 2, 3
for n in (1, 2, 3):
print n # 出力結果 : 1, 2, 3
for k in {'one': 1, 'two': 2, 'three': 3}:
print k # 出力結果 : one, two, three
for c in "123":
print c # 出力結果 : 1, 2, 3
for line in open("sample.txt"):
print line # 1行ずつ表示

range() を使用すると指定値まで処理を繰り返す。
for n in range(10):
print n # 出力結果 : 1, 2, 3〜10

文字列に指定した場合は、それぞれの文字に対して実行します。

for c in u'あいうえお':
print c # あ, い, う, え, お

for n in [1, 2, 3]:
print n
else:
print 'END' # 出力結果 : 1, 2, 3,END


ループを抜ける(break)


「break」は、「while」「for」などの繰り返し処理から抜け出すための命令。
は最も内側の while, for などのループ処理を抜けます。下記の例では n が 5の時に forループを抜けます。

for 変数 in 条件式:
実行プログラム
if n == 5:
break
else:
実行プログラム



ループを繰り返す(continue)


「continue」は、「while」「for」 などのループ処理を明示的に継続させ、繰り返しの最初に戻る。
処理を間違えると無限ループになりやすいので注意。


for 変数 in 条件式:
実行プログラム
if n == 5:
continue
else:
実行プログラム



例外処理(try, except, else, finally, raise)




try:
実行プログラム
except [expression]:
実行プログラム
else:
実行プログラム
finally:
実行プログラム



Back