機械学習・ディープラーニングがゼロから学べる大人気『脱ブラ』が無料に!

【Python 入門】for 文の使い方を解説!range() 関数も紹介

【Python 入門】for 文の使い方を解説!range() 関数も紹介

こんにちは、機械学習の講師をしている尾宮です!

ここでは、文法の中でもよく使われる for 文の使い方を初学者向けに解説していきます。

また、セットで使われる range() 関数も紹介!皆さんの学習にお役立ていただければ幸いです。

実行環境

for 文の使い方

for 文は、同じ処理を繰り返すときに用いられる制御構文です。for 文を使用することで、繰り返し処理を短いコードで実装できます。

for 文の基本的な書き方は下図のようになります。
Python の for 文紹介
出典:2.7.1. 繰り返し(for 文)|Chainer Tutorial

イテラブルオブジェクトとは、繰り返し処理ができるオブジェクトで、複数のデータが格納できます。例えば、リスト([])などが挙げられます。

for 文とイテラブルオブジェクトを組み合わせることで、要素を 1 つずつ取得。順番に同じ処理が行われます。

構文をまとめると、下記のようになります。

for 文の構文
for 変数名 in イテラブルオブジェクト:
    繰り返したい処理①
    繰り返したい処理②
                ︙

また Python の for 文では、以下2点を必ず押さえておきましょう!

  • イテラブルオブジェクトの直後に :(コロン) を付けること
  • 処理を書く際は、インデントと呼ばれる半角スペースを入れること(字下げ)
補足
インデントは半角スペース 4 つが一般的です!
参考 はじめに — コードのレイアウト - インデントpep8-ja 1.0 ドキュメント

for 文のサンプルコード

ここでは for 文を使って、3つの名前が格納されたリスト names(イテラブルオブジェクト)を1つずつ取り出し、print() 関数で出力していきます。

サンプルコードは以下の通りです。

for 文による出力
names = ['太郎', '花子', '一郎']
for name in names:
    print(name +'さん')
実行結果
# 実行結果
太郎さん
花子さん
一郎さん
for 文を使わない場合
for 文を使用しない場合、以下のように冗長な表現になります。
リストによる出力
names = ['太郎', '花子', '一郎']
print(names[0]+'さん')
print(names[1]+'さん')
print(names[2]+'さん')
実行結果
# 実行結果
太郎さん
花子さん
一郎さん

range() 関数の使い方

for 文で、組み込み関数である range() 関数を使うと、指定回数分だけの処理が行われます。

range() 関数 × for 文の基本構文
for 変数名 in range(繰り返し回数):
    繰り返したい処理①
    繰り返したい処理②
                ︙

range() 関数のサンプルコード

今回は range() 関数と for 文を使って、3回 kikagaku を出力してみます。

コードは以下の通りです。

range() 関数を使い、3回 kikagaku を出力
for i in range(3):
    print('kikagaku')
実行結果
kikagaku
kikagaku
kikagaku

for i in range(3): にある i は、0 からスタートする連番を表します。

実際に i の値をコードで確認してみると、以下のようになります。

range() 関数から取り出した変数 i を出力
for i in range(3):
    print(i)
実行結果
0
1
2

range() 関数の応用編

range() 関数では、連番の範囲を指定することができます。今回は 5 から 9 までの数値を連続で出力するコードを実装してみます。

コードは以下の通りです。

range() 関数で、5 から 9 まで連番を出力
for i in range(5,10):
    print(i)
実行結果
5
6
7
8
9

range() 関数の第 2 引数で渡した 10 は出力されないので、注意しましょう!

また、第 3 引数 を使うと、連番ではなく、指定したステップごとに出力することも可能です。

サンプルコードは以下のようになります!

range() 関数で、5 から 9 まで2コ飛ばしで出力
for i in range(5,10,2):
    print(i)
実行結果
5
7
9

最後に

以上です。本記事では、Python の文法である for 文と 頻繁に一緒に使われる range() 関数を解説しました。

以下、まとめになります。

  • for 文は、繰り返し処理ができる構文
  • イテラブルオブジェクトの要素が取り出され、順番に処理される
  • range() 関数を用いると。特定の回数だけ処理される

もし、動画で for 文の内容を学習したい!という方は、元副社長の動画がおすすめです。


もし忘れてしまったら本記事を思い出して再度復習してみてください。

以上、Python 学習している方々のお力添えになれば幸いです!

参考リンク

参考 Python 3.9.2 ドキュメント 参考 Chainer チュートリアル

大人気コース「Python & 機械学習入門コース」が無料!

現在 e ラーニングプラットフォーム「キカガク」に無料登録すると、これまで多くの方にご受講いただいた、Python の基礎から機械学習の数学やプログラミングまでを学べる大人気コース「Python & 機械学習入門コース」が無料です。

好評である手書きの数学とハンズオン形式のプログラミングを通じて、初学者でも数学の理論から実装まで一から学習できます。また、動画で丁寧に解説しているため、迷うことなく最後まで継続して学習しやすいです。

Python の基礎から機械学習を学習したい方は、ぜひ教材の1つとしてご利用ください!