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

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

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

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

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

実行環境

  • Google Coraboratory
  • Python:3.9.2

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]+'さん')
実行結果
# 実行結果
太郎さん
花子さん
一郎さん
Python 基礎入門コース

ゼロから始めるプログラミング

スモールステップで Python を基礎から学べる、初学者の方向けの講座です。演習問題を通して Python の使い方を理解し、データ分析や機械学習実装のための基礎を身につけることを目指します。

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 文をマスターしてプログラミングのレベルアップをしましょう!

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


https://www.youtube.com/watch?v=tOULTwsiSN4

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

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

こちらの記事もオススメ

まずは無料で学びたい方・最速で学びたい方へ

まずは無料で学びたい方: Python&機械学習入門コースがおすすめ

Python&機械学習入門コース

AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!

無料で学ぶ

最速で学びたい方:キカガクの長期コースがおすすめ

一生学び放題

続々と転職・キャリアアップに成功中!受講生ファーストのサポートが人気のポイントです!

AI・機械学習・データサイエンスといえばキカガク!
非常に需要が高まっている最先端スキルを「今のうちに」習得しませんか?

無料説明会を週 2 開催しています。毎月受講生の定員がございますので確認はお早めに!

説明会ではこんなことをお話します!
  • 国も企業も育成に力を入れている先端 IT 人材とは
  • キカガクの研修実績
  • 長期コースでの学び方、できるようになること
  • 料金・給付金について
  • 質疑応答

参考リンク

参考 Python 3.9.2 ドキュメント

参考 Chainer チュートリアル