【python入門者必見!】for文による繰り返し処理を解説 | プログラミング入門ならWEBCAMP NAVI
【11月枠も残りわずか】転職保証コース

【python入門者必見!】for文による繰り返し処理を解説

python

Pythonに限らず書籍やWebサイトでプログラミングの学習していると、プログラミングは決められた処理や繰り返し処理(ループ処理)が得意とされています。

それではPythonで繰り返し処理を実現する為のfor文について、徹底解説していきます。

for文とは

for文はPythonで繰り返し処理を行う為に使用するものです。

例えば、print関数を使用して「Hello World」と100回出力する場合、どの用に記述しますか?

繰り返し処理を知らなければ、下記コードを100回記述することになります。


print("Hello World")

print("Hello World")

print("Hello World")

・

・

・

あまり効率的には見えないですよね。。。

しかしfor文を使えば、これをたった2行で行うことが出来ます。

他のプログラミング言語ではforeachなどがPythonのfor文にあたります。

それでは実際にfor文の使い方や記述方法について、解説をしていきます。

for文の基本的な使い方について

for文の基本的な記述方法は、下記になります。


for 変数 in オブジェクト:

    繰り返す処理

オブジェクト部分について、後述で詳しく解説しますが、繰り返しをする条件が入ります。

また繰り返す処理の前には、インデント(文頭の空白)が必要になる為、注意が必要です。

loop(ループ)回数を指定する方法について

オブジェクト部分を使ってloop(繰り返し)する回数を指定します。

繰り返しの条件を指定正しく指定していなければ、無限ループとなってしまい永遠に処理が終わらなくなってしまい、パソコンに負荷がかかり続けてしまう為、注意が必要です。

rangeで繰り返し回数を指定する

繰り返し回数を指定する方法の1つとしてrangeを利用する方法があります。

rangeを利用した記述方法

rangeを利用する基本的な記述方法は、下記になります。


#rangeの引数に繰り返しす回数を指定する

for 変数 in range(繰り返す回数):

    繰り返し実行する処理

#rangeの引数には、下記の様に開始と終了を指定することもできます。

for 変数 in range(開始,終了):

    繰り返し実行する処理

変数部分にrangeの引数までが処理されていきます。

rangeの使用例

rangeを使用したfor文の基本的な記述方法だけでは、イメージが付きにくいので具体的な使用例をご紹介します。


#rangeを使用して5回「Hello World」を出力の使用例

for x in range(5):
    print("Hello World")

#実行結果

Hello World
Hello World
Hello World
Hello World
Hello World

rangeの引数で指定した5回分print(“Hello World”)が実行されています。

rangeの引数に開始と終了を指定している場合の使用例は、下記になります。


#range開始と終了引数を出力する

for x in range(10,16):
    print("range引数:" + str(x))

#実行結果

range引数:10
range引数:11
range引数:12
range引数:13
range引数:14
range引数:15

実行結果から変数にrangeの引数が指定されていることがわかります。

range終了の引数の1つ前で処理が終わる為、使用例のように15までを出力したい場合は、+1した16までを指定しなければいけません。

range引数の増加指定について

range引数の増加は、指定がない場合1ずつ増えていきます。

プログラミング的な記述方法をすると「++」になります。

rangeで増加するステップを指定することが出来ます。

range引数の増加指定の記述方法

range引数の増加指定の基本的な記述方法は、下記になります。


#rangeの第三引数に増加量を指定。

for 変数 in range(開始,終了,増加量):

    繰り返し実行する処理

増加量を指定することで、偶数回数だけ実行したりすることが出来ます。

range引数の増加指定の使用例

rangeを使用したfor文の増加引数の記述方法だけでは、イメージが付きにくいので具体的な使用例をご紹介します。


#rangeの増加を指定する使用例

for x in range(1,21,2):
    print("range引数:" + str(x))

#実行結果
range引数:1
range引数:3
range引数:5
range引数:7
range引数:9
range引数:11
range引数:13
range引数:15
range引数:17
range引数:19

実行結果から1~20までを2つ置きに出力されていることがわかります。

結果として奇数のみを出力することが出来ています。

開始や終了と増加量を指定することで、偶数を出力したりすることも可能です。

配列の要素を取り出すfor文について

for文を利用することで、配列の要素を取り出すことが可能です。

実際にプログラミングをする上で、rangeと同じくfor文で配列の処理を使用することは少なくありません。

配列の要素を取り出すfor文の記述方法

for文で配列の要素を取り出す基本的な記述方法は、下記になります。


for 変数 in 配列:

    繰り返し実行する処理

配列の要素を全て取り出すまで、処理を繰り返します。

配列の要素を取り出すfor文の使用例

for文で配列の要素を取り出す具体的な使用例について、ご紹介します。
#for文で使用する配列の準備
tmp = ["JavaScript","Java","Python","VB.NET"]
#for文で配列の要素を全て取り出す
for x in tmp:
    print("プログラミング言語:" + str(x))
#実行結果
プログラミング言語:JavaScript
プログラミング言語:Java
プログラミング言語:Python
プログラミング言語:VB.NET

実行結果から配列の要素を1つずつ全て取り出して、処理が実行されていることがわかります。

上述でも記載しましたが、配列はfor文と相性がよく上記の様な使われ方をよくします。

繰り返し後に実行する処理について

繰り返しのfor文が終わった後に、実行したい処理は少なくありません。

Pythonのfor文も繰り返し処理が終わった後に、実行する処理を指定することができます。

for文else処理の記述方法

for文の繰り返し処理が終わった後に実行する処理は、else節を使います。

else節を使った基本的な記述方法は、下記になります。


for 変数 in オブジェクト:

    繰り返し実行する処理

else:

    繰り返し処理後に実行する処理

既にif文を学習したことがある方はご存知かもしれませんが、else節の後に「:」が必要になる為、注意が必要です。

for文でelse処理の使用例

else節を使用して繰り返し後に処理を実行する具体的な使用例について、ご紹介します。


#for文で繰り返し処理を実行後にelse節で処理を実行する

for x in range(11):
    print("rangeの引数:" + str(x))
else:
    print("繰り返し処理終了")

#実行結果

rangeの引数:0
rangeの引数:1
rangeの引数:2
rangeの引数:3
rangeの引数:4
rangeの引数:5
rangeの引数:6
rangeの引数:7
rangeの引数:8
rangeの引数:9
rangeの引数:10
繰り返し処理終了

実行結果から繰り返し処理後に、else節の「繰り返し処理終了」が出力されていることがわかります。

また別の機会にご紹介させて頂きますが、for文やif文などの制御処理を強制的に処理を中断させるbreak処理があります。

breakでfor文の繰り返し処理を中断させた場合は、else節が実行されない為、合わせて利用する場合は注意が必要です。

▼breakについての解説記事はこちらから

【python入門者必見!】breakの基本と応用を徹底解説

for文の応用について

今回for文の基本的記述方法については、ここまでで一通り解説してきましが、解説した以外にもfor文を使用することでより効率よく繰り返し処理を実行することが出来るものがまだまだあります。

for文を中断するbreak

for文の応用として、breakで繰り返し処理を中断させる方法があります。

まとめ

今回はPythonの繰り返しで使用するfor文の基本的について、解説してきましたが、いかがでしたか。

for文を利用することで、プログラミングする時のソースコードを効率よくコーディングすることができます。

単純な繰り返し以外にも、for文を使いこなせるようになってくると、仕様の関連性を見つけてfor文と組み合わせたプログラミングが行えるようになります。

既に学習している方もいらっしゃるかもしれませんが、配列やif文などのPythonの基礎について習得しなけば応用することができません。

11月枠も残りわずか!!

エンジニア転職を目指すなら…

転職保証付きプログラミングスクール

で未経験からエンジニア目指そう

 

✔︎未経験からの転職 ✔︎会社の将来が不安 ✔︎給与や待遇に不満がある

 

転職保証コースは質の高いカリキュラムで転職成功率98%