for文について
今回は、for文について扱っていきます。
Pythonでは「for文」と呼ばれる繰り返し処理を実行するための構文があります。「for文」は他の多くのプログラミング言語でも用いられており、Pythonでも同様の役割を持っています。
繰り返し処理とは、同じ処理を繰り返し実行することです。例えば、タプルやリスト等から要素(数値や文字)を順番に取り出すような処理が繰り返し処理にあたります。
以下が「for文」の書き方になります。
1 2 3 4 | for 変数 in 繰り返すオブジェクト : 実行する処理1 実行する処理2 ・・・ |
ここで、2行目以降ではインデントを入れていることに注意しましょう。
(Pythonでは、for文やif文などはブロックごとに同数のインデントを入れる必要性があります)
それでは「for文」を使用した繰り返し処理の例を見ていきましょう。
for文の具体例
0~9までの数字を繰り返し取り出す処理の例を見てみましょう。
1 2 | for i in ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ) : print (i) |
ここで、1行目の(0,1,2,3,4,5,6,7,8,9)は、タプルと呼ばれる0~9までの値がまとまったオブジェクトです。
コードを記述し保存したら、実行します。
0
1
2
3
4
5
6
7
8
9
変数iには0~9までの値が順番に入ります。そして、print(i)で繰り返し出力出来ました。
なお、値を順番に取り出す場合にはrange関数を使用すると便利です。
range関数では、連続した数値をもつオブジェクトを作成できます。
range(n)と書くことで、0~n-1までの合計n個の数値をもつオブジェクトとなります。
今回はrange(10)とし、0~9までの合計10個の数値をもつオブジェクトを作成します。
1 2 | for i in range ( 10 ) : print (i) |
0
1
2
3
4
5
6
7
8
9
このように、for文では数値を順番に取り出して処理に使うためにrange関数がよく用いられます。
今度は、実行する処理文を追加してみましょう。
変数iの値を10倍にして出力します。
1 2 3 | for i in range ( 10 ) : i = i * 10 print (i) |
0
10
20
30
40
50
60
70
80
90
このように、for文で取り出した値を元に、様々な計算(処理)を追加することが出来ます。
それでは次に、文字を繰り返し取り出す処理の例を見てみましょう。
変数iには’PYTHON’という文字列が一文字ずつ順番に入り、print(i)で繰り返し取り出すことが出来ます。
1 2 | for i in 'PYTHON' : print (i) |
P
Y
T
H
O
N
インデントの入れ忘れ
最後に、実行する処理を記述する行に、インデントを入れなかったらどうなってしまうかを見てみましょう。
1 2 | for i in 'PYTHON' : print (i) #インデントを入れない |
File “C:\Python\python 4-1-5.py”, line 2
print(i)
^
IndentationError: expected an indented block
『インデントがおかしいですよ』という旨のエラーが表示されてしまいます。
冒頭で書いた通り、for文ではブロック毎にインデントを入れる必要があります。
まとめ
for文では繰り返し処理を行うことが出来ます。
数値の繰り返し表現するにはrange関数を使用すると便利です。
for文を記述する際には、インデントに気を付けましょう。
確認問題
range関数を使用して、値を繰り返し出力させてみましょう。
1 2 | for i in range (n) : #nは任意の数字 print (i) |
文字列を1文字ずつ繰り返し出力させてみましょう。
1 2 | for i in 'ABCDE' : print (i) |