05-Python

Python(Part.23)| python【反復構造(for文)】

python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...

目標

「for文」について理解する。
「range関数」について理解する。

反復構造(for文)

基本制御構造の復習

基本制御構造とは(再掲載)

「制御構造」のうち、基本とする3つの構造として「順次構造」「選択構造」「反復構造」が存在します。これらは「基本制御構造」と呼ばれて、次の構造をもっています。

  1. 「順次構造」…プログラムを書かれた順番で実行します。
  2. 「選択構造」…条件の成立・不成立によって実行するプログラムを選択します。
  3. 「反復構造」…条件の成立・不成立によって実行するプログラムを反復します。

「for文」の記述

「for文」の文法

pythonの「for文」では「イテラブルオブジェクト」を利用して繰り返しを行います。(他のプログラミング言語ではカウント数を利用して繰り返しを行わせる方法があります。)

pythonの「for文」はJavaの「拡張for文」やJavaScript の「for…of文」にあたります。

pythonの「for文」ではカウント数は利用しませんが、ここで利用される変数は繰り返しを管理するために用いられるため「カウンタ変数」と呼ばれます。

具体的には次のように記述します。この場合はイテラブルオブジェクトの部分にリストを設定しています。

例えば下のプログラムの実行結果や動きは次のようになります。

for inner_value in [ 1, 2, 3, 4, 5 ]:
    print(inner_value)

実行結果

動作

イテラブルオブジェクトを変数で利用する

イテラブルオブジェクトは変数を利用して指定することも可能です。

iterable_obj =  [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

for inner_value in iterable_obj :
    print(inner_value)

実行結果

「range関数」と「rangeオブジェクト」

「range関数」と「rangeオブジェクト」の概要

range関数 … range型のオブジェクトを生成することのできるpythonの組み込み関数です。

rangeオブジェクト … 0個以上で順序を持つ(シーケンス)連続した数の集まりであり、かつイミュータブルなオブジェクトです。rangeオブジェクトはrange関数で生成します。

イテラブルオブジェクトの分類

イテラブルオブジェクトには次のものがあります。シーケンスとは0個以上で順序を持つオブジェクトで。dict、set、frozensetは順序がないのでシーケンスではありません。

list型ミュータブルシーケンス
tuple型イミュータブルシーケンス
range型イミュータブルシーケンス
str型イミュータブルテキストシーケンス
dict型ミュータブルシーケンスではない
set型ミュータブルシーケンスではない
frozenset型イミュータブルシーケンスではない
bytes型イミュータブルバイナリシーケンス
bytearray型ミュータブルバイナリシーケンス
memoryview型ミュータブルイミュータブルバイナリシーケンス

「range関数」の文法

「rangeオブジェクト」は「range関数」を利用して生成します。この「range関数」は次のように記述をします。

range(start, stop, step)
※「start」と「step」は省略が可能です。
※「stop」で指定した数値はrangeオブジェクトの値には含まれません。

range(stop)
※指定数がひとつの場合は「stop」が指定されたものとなります。
※この場合、「start」は「0」、「step」は「1」。

range(start, stop)
※指定数がふたつの場合は「start」と「stop」が指定されたものとなります。
※この場合、「step」は「1」。

range(start, stop, step)
※この場合、すべての引数を指定したことになります。

「range関数」の利用

「start」に「2」、「stop」に「10」、「step」に「2」を指定すると、「2」から「10未満」で2つごとに数が利用されrangeオブジェクトが生成されます。

range_obj = range(2, 10, 2)

for inner_value in range_obj :
    print(inner_value)

実行結果

「stop」だけ指定した場合は「start」に「0」、「step」に「1」が指定されたものとなります。

range_obj = range(5)

for inner_value in range_obj :
    print(inner_value)

実行結果

今回は以上になります。

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
05-Python

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師

2024年3月20日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site