python入門講座 | ループ処理1(for文の基本的な使い方)[第38回]

アラサーOLのためのpython入門講座
for文を使うことで、繰り返しの必要な処理でも1回書けば済むようになります。

Ciao!みなさんこんにちは!このブログでは主に
(1)pythonデータ解析,
(2)DTM音楽作成,
(3)お料理,
(4)博士転職
の4つのトピックについて発信しています。

今回は「アラサーOLのためのpython入門講座」です!この講座では、プログラミング初心者アラサーOLのMi坊さんに、pythonを学習する上でのアドバイスを行います!「パソコンもプログラミングも初心者だけど、プログラミングができるようになりたい!」という方のためにstep-by-stepで解説していきます。

今回からPythonでのループ処理(繰り返し処理)の方法を解説します。Pythonでは、他の言語と同様にfor文やwhile文でループ処理を行うことができます。まずはfor文の使い方を習得しましょう!

この記事を読めば、pythonでfor文を書くときの基礎を知ることができます。ぜひ最後までお付き合いください!

Kaiko
Kaiko

この記事はこんな人におすすめ

  • 初心者だけどpythonを始めた!
  • pythonの基本的な使い方を知りたい!
  • 独学で学んだpythonの知識を整理したい!



Abstract | for文を使ったループ処理を覚えて簡潔なコードを書こう

プログラミングではループ処理は不可欠です。繰り返し行いたい処理があるとき、ループ処理を行うことで、その処理をコードに何度も書くことなく一度だけ書けば良くなります。また、コーディング時点では繰り返しの回数が決まっていないような場合にも対応できます。Pythonではループ処理にfor文やwhile文を使います。

for文では予め決めておいた回数だけループが回ります。例えば、listに格納された要素を一つ一つ表示する場合には、要素の数だけループを回すといったことができます。for文の書き方を覚えて、高度な処理でも簡潔に書けるようになりましょう!



Background | ループ処理の必要性

ループ処理はPythonに限らずプログラミングで不可欠な処理です。ループ処理とは、同じ処理を一定回数繰り返すことです。Listなど配列タイプの変数のすべての要素や一部の要素に同じ処理を行いたいとき、一回一回の処理をいちいち書き下すことなく、いっぺんに処理することができます。

プログラムをわかりやすく書くためのポイントのひとつは「何度も行う処理をいちいち書き下さない」ことです。ループ処理を使うことで、配列タイプの変数の要素に処理を行いたいときなどに処理を一度だけ書けば済むようになります。プログラムを書くときにはほとんど必ずループ処理を使う場面が出てくるのでマスターしましょう。

Pythonではfor文やwhile文を使ってループ処理を実装することができます。for文では予め繰り返し処理を行う回数が決まっています。一方、while文では繰り返しの範囲が決まっておらず、ある条件を満たしたら処理を終える、逆に言うと条件を満たすまでは延々と処理が繰り返されます。今回はfor文を扱います。実際に例を見ながらどんなことができるのか見ていきましょう。



Method | for文の基本的な使い方

for文の基本的な使い方を解説します。実際に手を動かしながら学んでいきましょう!Jupyter Notebookを立ち上げてコーディングしながら読み進めてください。練習問題の後にコーディング例も掲載しますので、やってみてどうしてもわからなければそれを見て進めてください。



準備 | python notebookの新規作成

まずはpython notebookを用意しましょう。いつものpython_practiceのディレクトリに「practice_for_intro」という名前のpython notebookを作成してください。ターミナルを立ち上げて~/python_practiceに移動、jupyter notebookを起動し、ブラウザから新規→Python3でpython notebookを開いて、ファイル→リネームでファイル名を決定します。
もしやり方がわからなければ、過去記事「python入門講座|pythonを使ってみよう2(Jupyter Notebookを使う方法)」で詳しく解説しているので、これを見ながらやってみてください。

python notebookを起動したら、適宜Markdownセルに説明書きを加えながら下記の説明に沿ってコードを書いて実行していきましょう。Markdownセルやコードセルなどの用語やこれらの使い方についても、過去記事「python入門講座|pythonを使ってみよう2(Jupyter Notebookを使う方法)」を参照してください。練習問題の後にpython notebookの例を掲載します。もし書き方がわからなければそちらを見てください。



for文の基本的な書き方

for文は下記のように書きます。

for 変数i in データ群X:
    処理1
    処理2
    ...

ここで1行目のデータ群Xとはlist型変数など配列タイプの変数などの要素を複数個持つ変数です。for文では、データ群Xの要素が一つ一つ変数iに代入されていきます。また、range()という関数を使って、変数iが0からNになるまで1ずつ増やしながらループすることもよく行います。こちらは次回で取り扱います。

2行目以降、ループ処理を行いたい内容は1段インデントして書きます。1段インデントされた範囲がループ処理の対象となります。インデントを解除すると、ループ処理終了となります。例えば以下の場合、処理1から処理Nまでがループ処理の対象、処理Aはループが一通り終わったあとに実行されます。

for 変数i in データ群X:
    処理1
    処理2
    ...
    処理N

処理A

この説明だけではピンと来ないと思います。以下の例を見て理解を深めましょう。



Listに対するループの例

まずはlist型変数に対してループ処理を行う例を見てみましょう。例えば、あるlist型変数の要素を一つずつprint文で出力したいとしましょう。このような場合には、上記のデータ群Xをそのlist型変数とします。以下を実行してみてください。

# define a list variable
var_list = ['python', 'R', 'C', 'fortran']

# loop for the list
for var in var_list:
    # print an element passed to var
    print(var)

この例では最初に4つの要素をもつlist型変数var_listを定義しています。for文では変数var_listの要素が一つ一つ変数varに格納されていきます。for文の処理範囲のインデント内では、変数varをprint文で出力しています。これで変数var_listの要素が一つ一つ出力されます。

実行すると、出力結果は以下のようになります。

python
R
C
fortran



少し実戦的なlistに対するループの例

単にlistの要素を出力するだけでなく、ループ回数を数えて同時に出力するなどの処理を加えると実戦的になります。以下を実行してみましょう。

# define a loop counter
i = 0

# loop for the list
for var in var_list:
    # print the counter and an element
    print(i, var)
    
    # increment the counter
    i += 1

この例では、変数iを使ってループ処理を行った回数を数えています。最後の「i += 1」で変数iに1を足しています。このようにすることでループ処理の経過回数を数えることができます。

出力結果は以下となります。

0 python
1 R
2 C
3 fortran



ループ処理の範囲を確かめる例

インデントされた範囲のみがループ処理の対象となることに注意しましょう。インデントを解除した後の処理はループが終了した後に実行されます。以下を実行してみてください。

# define a loop counter
i = 0

# loop for the list
for var in var_list:
    # print the counter and an element
    print(i, var)
    
    # increment the counter
    i += 1
    
# end of indent means end of the loop

# this is out of the loop
print('loop end')

この例では、for文のインデント範囲に含まれるのは「print(i, var)」と「i += 1」という処理です。最後の行「print(‘loop end’)」はインデントされていません。したがって、最後の行の処理はループが完了してから実行されます。

実行結果は以下となります。「loop end」はループ処理が終わってから1回だけ出力されます。

0 python
1 R
2 C
3 fortran
loop end



Results | 練習問題

練習問題をやってみましょう。以下の処理を行うコードを書いてみましょう。

  1. list型変数var_listを以下の要素で作成してください。
    • 値1: ‘dog’
    • 値2: ‘cat’
    • 値3: ‘mouse’
  2. for文を使って、変数var_listの要素を1つずつ出力してください。さらに、for文によるループ処理終了後に「– loop end –」と出力してください。



練習問題の例

練習問題の回答が完成したら回答例を確認しましょう!下の画面をスクロールすると回答例が見られます!参考にしてみてください。また、今回の記事で出てきた他のコードも載っているので参考にしてください!

練習問題おつかれさまでした!
今日はここまでです。Python Notebookを終了しておきましょう。もしPython Notebookを終了方法がわからなければ過去記事「python入門講座|pythonを使ってみよう2(Jupyter Notebookを使う方法)」の「Python Notebookの起動・終了方法」の章を参照してください!



Conclusion | まとめ

最後までご覧いただきありがとうございます!
今回はfor文の基本的な使い方を解説しました。for文を使うことでループ処理を行うことができます。Listなどの配列タイプの変数の要素一つ一つに同じ処理ができます!プログラムを書いたらfor文を使わないことはないというぐらい頻出なのでマスターしましょう!

以上「python入門講座 | ループ処理1(for文の基本的な使い方)」でした!
またお会いしましょう!Ciao!



References | 参考

以下の教科書を参考にして進めています!より詳しく学びたい方は購入して読んでみてください!

Pythonの参考教科書

コメント

タイトルとURLをコピーしました