超初心者向けPython入門講座

仕事の効率化などにpythonを使いたい!けど何から始めらばよいか分からない、といった初心者の方向けに、pythonの導入から実用的な使い方まで、極力分かりやすくまとめたサイトです。

python Python初心者講座

第4章 Pythonのループ処理(for)を使ってみよう

投稿日:2020-04-09 更新日:

この章では、いよいよ「ループ処理」を使っていこうと思います!

解説内容

 

1.ループ処理って何?

「ループ処理」とは、その名の通り繰り返し同じ作業をおこなう方法です。ループ処理は、実際に動かしてみた方が分かりやすいと思うので、さっそくコードを書いていきましょう!

 

2.ループ処理を使ってみよう

まずは下のコードを「spyder」に入力し、実行してみてください。「spyder」の使い方を忘れてしまった人は、3章でおさらいしましょう!(もちろん、spyder以外で実行できる方はそちらで構いません。)

for i in range(5):
    print(i)

すると、順番に「0」、「1」、「2」、「3」、「4」と出力されたと思います。一行ずつ、詳しく説明していきますね。

まず、一行目の

for i in range(5):

では、iという変数に5つの数字(0~4)を順番に入れて処理をおこなうという意味になります。Pythonのループの書き方は、for 変数 in 〇〇:」という書き方になります。最後の「:」を忘れないように!!

ここの「for」「in」は固定で、「変数」は3章で説明したように好きな名前を付けてもらって構いません。(今回は「i」)

そして、最後の「range(5)」は、5つの数字(0~4)という意味になります。3章の「list」の時にも説明しましたが、Pythonの数字は0から始まるというルールがあるため、5つの数字となると、0~4になります。

 

次に、二行目の説明です。気づいた方もいらっしゃると思いますが、一行目に比べ、二行目が少し右にありますね。これは、Pythonでループ処理を行う上で重要なところで、forのループ処理は、forの後ろで、右に動いている行に適応されるというルールがあるからです。

ちなみに、この行が右に動いていることを「インデント」といい、「Tabキー」を押すことでインデントすることができます!

ここまで分かれば、あとは簡単ですね!print(i)では、変数「i」に順番に入った(0~4)を出力しています。これにより、「0」、「1」、「2」、「3」、「4」が出力されたわけですね!

 

ここで、今回のループ処理の形をもう一度おさらいしましょう!ループ処理のイメージは以下のようになります。

 

3.ループ処理の範囲

次に、ループ処理の範囲についてです。先ほど、ループ処理は「forの後のインデントされた行に適応される」と解説しましたね。これについて、実際にコードを動かしながら確認していきましょう!

以下のコードを実行してみてください。

for i in range(5):
    print(i)
print('Hello World')

すると、「0」、「1」、「2」、「3」、「4」、「Hello World」と出力されたと思います。このように、forループは、インデントされた行までを繰り返して処理し、それが終わった後に次の行が実行されます。

図にすると以下のようなイメージですね。

 

4.rangeによるループ処理の応用

Pythonのループ処理において、rangeを用いると繰り返したい数を容易に決めることができるため、非常に便利です。

しかし、変数に入る数字を0以外からにしたい場合もあると思いますので、それについて解説します。

では、下のコードを実行してみましょう。

for i in range(1,5):
    print(i)

すると、「1」、「2」、「3」、「4」と出力されたと思います。これは、rangeの特性で、以下のように数字を設定することができます。

1つ目の数字は分かりやすいと思いますが、問題は2つ目数字です。2つ目はその数字までの、0からの個数を表しているため、実際に表示される数字は2つ目の数字より1つ小さい数字になります。

ここは、難しく考え始めるとよくわからなくなりますが、要はrange(数字)の時と同じと考えてください!ただし、その前に「数字,」を付けることで始まりの数字を決めることができる、と理解するとよいと思います。

 

5.listを用いたループ処理

最後に、「range」の代わりに、3章で学んだ「list」を用いたループ処理について解説したいと思います。まずは、以下のコードを実行してみてください。

name = ['Work','Life','enjoy',3]
for i in name:
    print(i)

すると、「Work」、「Life」、「enjoy」、「3」と出力されたと思います。これは、nameという変数に入っている要素を順番に「i」に入れて処理をするというコードになります。

このように、forでのループ処理の時は、「list」を使うことで好きな文字や数字を変数に入れながらループ処理が行えます。

ちなみに、先ほどの出力結果は3章で解説した以下のコードと同じ結果ですね。このように、ループ処理と「list」を使うことで、より短くわかりやすいコードで処理を行うことができます!

name = ['Work','Life','enjoy',3]
print(name[0])
print(name[1])
print(name[2])
print(name[3])

 

6.まとめ

今回は、「for」を用いたループ処理について解説しました。ループ処理の方法は他にもあるのですが、まずはこの「for」を用いたループが使えれば、やりたいことは大体できます!

そして、ループ処理を行う際の「range」と「list」の使い分けですが、

  • 連続した数字を扱ったり、ループの回数を指定したい場合 = range
  • 好きな文字や数字を用いてループをさせたい場合 = list

と使い分けると良いと思います。次の章では、「if」を用いた条件分岐について解説したいと思います。

「変数」、「ループ処理(for)」、「条件分岐(if)」の3つが使えるようになると、簡単なデータ処理などは全て自動化できるようになりますので、頑張って勉強していきましょう!

>>前回:第3章 Pythonの変数を使ってみよう

>>次回:第5章 Pythonの条件分岐(if)を使ってみよう

スポンサーリンク




スポンサーリンク




-python, Python初心者講座
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

第2章 Pythonを使ってみよう

前回はPythonのダウンロードについて解説しました。この章では、さっそくPythonを使ってみましょう! 解説内容 Anaconda Promptを起動しよう Pythonで文字を出力しよう(pri …

仮想環境でのSpyder利用法と実行場所

Pythonの仮想環境で「Spyder」を使うには、注意点があります。ここでは、仮想環境でのSpyderの使い方について解説したいと思います。 また、あわせて仮想環境を任意の場所で起動する方法について …

Pythonでcsvファイルへの書き出し(list,numpy,pandas対応)

今回は、「csvファイル」へのデータの書き出しについて解説していこうと思います。csvファイルとは何か?については、本サイトの「Pythonでcsvファイルを読み込んでみよう」で解説しているので、そち …

第6章 Pythonで計算してみよう

この章では、Pythonを使って「計算」を行っていこうと思います。皆さんがイメージしている通り、「1 + 1 = 2」みたいなものを、プログラミング上でやってみよう!というものです。 「計算」ができる …

Pythonでcsvの読み込み(numpy,pandas対応)

Pythonでデータを扱う際に、データをcsvから読み込むことは多いと思います。 ただし、その方法はいくつかあり、最初はどれを使えばいいか迷うと思います。 そこで、今回はcsvファイルの読み込みについ …

スポンサーリンク





初めまして、サイトを運営しているキユと申します。

このサイトでは、まったくの初心者がPythonを使って、単純作業や仕事を効率化できるようになるまでに必要なことをまとめています。