Pythonでfor rangeを使った関数について詳しく知りたいな。
for rangeを使えば、数の多い繰り返し処理ができるらしいんだけど、どうやって使うんだろう。
詳しいエンジニアに聞いてみたいな
こちらの悩みを解決しますね。
本記事の内容
・rangeとは?
・for rangeとは?
・for 変数 in range()の書き方
for rangeについて理解するにはrangeについて詳しく理解する必要があるので、まずはそちらから解説しますね。
この記事を書いている自分は、プログラミング歴4年の駆け出し以上中堅未満のエンジニアです。
過去には、AI囲碁をWebアプリ化したり、Pythonでのアプリ開発、Web制作やフロントエンドのデザインまで幅広くやってきました。
今回はそんな経験をもとに解説していこうかと。
当サイトでは、覚えるべきところを全てまとめているので、画面を撮影して何度も読み返すことをおすすめします。
それでは、解説していきます!
rangeとは?
rangeとは、連続した整数のオブジェクトを生成する関数です。
rangeの書き方は3つあります。
rangeの書き方
- range(終わりの数)
- range(始まりの数,終わりの数)
- range(始まりの数,終わりの数,増減数)
詳しく解説しますね。
range(終わりの数)
指定した数までの連続したオブジェクトを生成する書き方です。
0から始まり指定した数のオブジェクトが生成されると処理が終わります。
0から開始なので終わりの数-1とみないと数がわからなくなります。
range(始まりの数,終わりの数)
始まりの数と終わりの数を指定できる書き方です。
指定した数から始めたい時に使います。
range(始まりの数,終わりの数,増減数)
増減を指定できる書き方です。
この書き方は増減数を指定でき偶数のリストを作ったり、10刻みのリストを生成する時に使えます。
for 変数 in range()の書き方
for rangeを使用した、書き方は3種類あるのでまとめてみます。
for 変数 in range() の書き方
- for 変数 in range(終わりの数)
- for 変数 in range(始まりの数,終わりの数)
- for 変数 in range(始まりの数,終わりの数,増減数)
ご覧の通り、基本的にはrangeの書き方にforを付け加えればOK
一つずつ説明していきます。
for 変数 in range(終わりの数)
単純に指定回数分繰り返したい時に使う書き方です。
使用頻度も高くコードを書く際には
頻出となるのでぜひ覚えておきたい書き方です。
この書き方はよく使うので、後ほど詳しく解説します。
for 変数 in range(始まりの数,終わりの数)
始まりの数を指定したい時に使用する書き方です。
例えば繰り返し処理の中で0から開始ではなく
1から開始にしたい時などに使うとスマートにコードが書けます。
for 変数 in range(始まりの数,終わりの数,増減数)
増減数を設定したい時に使用する書き方です。
繰り返し処理の中で偶数の数字だけを変数に入れたいとか
入れた値を減少させながら処理したいという時に使用します。
for 変数 in range()とは?
Pythonにおけるfor関数は繰り返し処理を行うために使い、range関数は、連続した整数のオブジェクトを生成するので、for関数の中で使用することが多いのです。
一つ一つの概念としては難しくないので、各々を説明していきたいと思います。
for文は、主に以下のような役割を担います。
for文の役割
- 同じ文字列や数値を連続して出す
- 数値を順番に出力する
- 配列の要素を順番に取り出す
ここでは、「同じ文字列や数値を連続して出す」という役割を利用したプログラム、次に「数値を順番に出力する」という役割を利用したプログラムを紹介しますね。
まず最初に、以下のコードをご覧ください。
for i in range(5):
print("Hello World")
上記のコードを出力すると、「Hello World」が以下のように5回実行されます。
上記に表示された「>>>」は、対話シェル(macのターミナルなど)に出力される記号なので、特に気にしなくて構いません。
コードの中に記載されている「for」文及び「range」を使うことで単純な繰り返しを行うことができるようになっているのです。
forにかかる変数であるi、その中にrange(5)が入り、下の文”Hello World”を出力するという、英語のような読みやすさになっております。
それが上記のコードで、先程は5回まででしたが、出力したい数値を入力すれば何回でも(100回でも100000000回以上でも!)書くことが出来ます。
※正直言うと、このプログラムではrangeを使わなくても問題ないです。ですが、次のプログラムだとrange関数が必要になってきます。
次は、0から9までの整数を出力するプログラムです。
for i in range(0, 10):
print(i)
この例では、range関数から出力された繰り返し可能な要素を順番に出力するためにfor(for文、forループとも言う)を使いました。
ちなみにrange関数から返される整数列には、1つ目の数の値は含まれますが、2つ目の値は含まれません(出力結果が10ではなく9でストップしているのはそのためです)。
※余談ですが、最初のコードにも書いた通り、プログラマーは整数のリストをこのように繰り返し処理する際に、よく変数名に「i」を使います。
まとめ:for rangeの使い方
for関数とrange関数を使用したプログラムには3種類ありますが、基本的にはfor 変数 in range()だけ覚えておけばOK
一つ注意しておきたいのは、rangeでは0からカウントが始まるということですね。