Pythonの勉強をしていて、このような悩みを抱えていませんか?
forの使い方を教えてください!
この記事では、Pythonのfor文について現役エンジニアが分かりやすく解説していきます。
他にも【Python入門】if文の使い方で「if」について分かりやすく解説しているので、お時間がある方はご確認ください。
また、Pythonをもっと詳しく勉強したいという方は、【超厳選】20代におすすめのプログラミングスクール3選!を参考にしてください。
他にも無料でプログラミングスクールを受講したいという方は、【完全無料】0円で学べるプログラミングスクールを紹介【大学生向け】を参考にしてください。
for文の書き方
Pythonでは繰り返し処理を記述するには「for」文を使用します。
for文の書き方は、以下の通りです。
for 変数 in イテラブルオブジェクト:
繰り返す処理
それでは、上記の「for文の書き方」に実際の値を当てはめて、for文の理解を深めていきましょう。
まずは、下記のコードをコピペして実行してください。
# イテラブルオブジェクトを定義
list = ["ルフィ", "エース", "サボ"]
# イテラブルオブジェクト(list)の要素数分繰り返す
for i in list:
# 要素iを出力
print(i)
すると、次のような出力が得られます。
ルフィ
エース
サボ
それでは、例コードを解説していきます。
解説するために「for文の書き方」を改めておさらいしましょう。
for 変数 in イテラブルオブジェクト:
繰り返す処理
例コードに当てはめて考えてみると、変数は「i」、イテラブルオブジェクトは「list」、繰り返す処理は「print(i)」となります。
イテラブルオブジェクト(list)の要素を一つずつ変数(i)に代入し、繰り返す処理(print(i))を実行します。
そのため、繰り返す処理(print(i))で出力された値には、イテラブルオブジェクト(list)の要素になります。
break:繰り返し処理を途中で終了
繰り返す処理を途中で終わらせたい時には、「break」を使用します。
break文の書き方は、以下の通りです。
for 変数 in イテラブルオブジェクト:
if 条件式:
break
else:
繰り返す処理
break文は繰り返す処理を途中で終了するという性質上、if文と併用されることが多いです。
if文の使い方を知りたいという方は、【Python入門】if文の使い方を参考にしてください。
それでは、実際に値を「break文の書き方」に当てはめて見ていきましょう。
# イテラブルオブジェクトを定義
list = ["ルフィ", "エース", "サボ"]
# イテラブルオブジェクト(list)の要素数分繰り返す
for i in list:
# listの要素が「エース」の場合
if i == "エース":
#繰り返し処理を修了
break
else:
# 要素iを出力
print(i)
例コードを実行すると、次のような出力が得られます。
ルフィ
それでは、例コードを解説していきます。
解説するために「break文の書き方」を改めておさらいしましょう。
for 変数 in イテラブルオブジェクト:
if 条件式:
break
else:
繰り返す処理
if文の条件式(iが「エース」と等しい)がtrueの時に、break文が実行され、繰り返し処理が終了します。
詳細な流れは以下の通りです。
- 変数iに「ルフィ」を代入
- 変数i(ルフィ)が「エース」と等しい → false
- 変数i(ルフィ)を出力
- 変数iに「エース」を代入
- 変数i(エース)が「エース」と等しい → true
- breakを実行 → 繰り返し処理終了
continue:特定の処理をスキップ
繰り返し処理をスキップしたい時には、「continue」を使用します。
continue文の書き方は、以下の通りです。
for 変数 in イテラブルオブジェクト:
if 条件式:
continue
else:
繰り返す処理
continue文は特定の処理をスキップするという性質上、if文と併用されることが多いです。
if文の使い方を知りたいという方は、【Python入門】if文の使い方を参考にしてください。
それでは、実際に値を「continue文の書き方」に当てはめて見ていきましょう。
# イテラブルオブジェクトを定義
list = ["ルフィ", "エース", "サボ"]
# イテラブルオブジェクト(list)の要素数分繰り返す
for i in list:
# listの要素が「エース」の場合
if i == "エース":
#処理をスキップ
continue
else:
# 要素iを出力
print(i)
例コードを実行すると、次のような出力が得られます。
ルフィ
サボ
それでは、例コードを解説していきます。
解説するために「continue文の書き方」を改めておさらいしましょう。
for 変数 in イテラブルオブジェクト:
if 条件式:
continue
else:
繰り返す処理
if文の条件式(iが「エース」と等しい)がtrueの時に、continue文が実行され、処理がスキップされます。
詳細な流れは以下の通りです。
- 変数iに「ルフィ」を代入
- 変数i(ルフィ)が「エース」と等しい → false
- 変数i(ルフィ)を出力
- 変数iに「エース」を代入
- 変数i(エース)が「エース」と等しい → true
- continueを実行 → 処理をスキップ
- 変数iに「サボ」を代入
- 変数i(サボ)が「エース」と等しい → false
- 変数i(サボ)を出力
else:繰り返し処理が正常終了時の処理
for文による繰り返し処理が正常に終了した際に、行いたい処理を記述する時には、「else」を使用します。
else文の書き方は以下の通りです。
for 変数 in イテラブルオブジェクト:
if 条件式:
break
else:
繰り返す処理
else:
繰り返し処理が正常終了時に実行する処理
else文は繰り返し処理が正常終了時という性質上、break文と併用されることが多いです。
それでは、実際に値を「else文の書き方」に当てはめて見ていきましょう。
# イテラブルオブジェクトを定義
list = ["ルフィ", "エース", "サボ"]
# イテラブルオブジェクト(list)の要素数分繰り返す
for i in list:
# listの要素が「エース」の場合
if i == "ガープ":
#繰り返し処理を修了
break
else:
# 要素iを出力
print(i)
else:
print("繰り返し処理正常終了")
例コード①を実行すると、次のような出力が得られます。
ルフィ
エース
サボ
繰り返し処理正常終了
それでは、例コード①を解説していきます。
解説するために「else文の書き方」を改めておさらいしましょう。
for 変数 in イテラブルオブジェクト:
if 条件式:
break
else:
繰り返す処理
else:
繰り返し処理が正常終了時に実行する処理
繰り返し処理中にbreakを通らないため、例コード①の繰り返し処理は正常終了になります。そのため、else文が実行されます。
続いて、else文内の処理が実行されない例コード②を見ていきましょう。
# イテラブルオブジェクトを定義
list = ["ルフィ", "エース", "サボ"]
# イテラブルオブジェクト(list)の要素数分繰り返す
for i in list:
# listの要素が「エース」の場合
if i == "エース":
#繰り返し処理を修了
break
else:
# 要素iを出力
print(i)
else:
print("繰り返し処理正常終了")
例コード②を実行すると、次のような出力が得られます。
ルフィ
例コード②では、繰り返し処理中にbreak文が実行されます。そのため、繰り返し処理が異常終了となり、else文の処理が実行されません。
【まとめ】for文で繰り返し処理が実行できる
for文の使い方は分かりましたか?
for 変数 in イテラブルオブジェクト:
繰り返す処理
この記事では、Pythonのforの使い方について紹介しました。
最後になりますが、私の体験談やみなさんの疑問に対して、できる限り分かりやすく記載したつもりです。ですが、もしここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。
最後までお読みいただきありがとうございました。