「Pythonのcontinue文の使い方がわからない」
「break文との違いは何か教えて欲しい
本記事はこのような悩みを解決します。
Pythonのcontinue文は使い方を理解したつもりでも、実際のコーディングではちゃんと使えなかったりしますよね。
また、break文との違いもよくわからないという方も多いのではないでしょうか。
プログラミングは1つ1つの文法をしっかり覚えていくことが肝心です。文法がうろ覚えでは、将来的にアプリやサイトを作るときに困ってしまいます。
そこで本記事では初心者でもわかるようにPythonのcontinue文の使い方を解説していきます。for文やwhile文の中でcontinue文がどのように使われるのか、一緒に見ていきましょう。
本記事を読むことで、continue文に関することはひと通り理解できるようになっていますよ。
ぜひ最後までお読み頂き、この機会にcontinue文をマスターしてくださいね。
Pythonにおけるcontinue文とは
「そもそもcontinue文って何? 何のために使うもの?」
このように思っている方のために、まずはcontinue文とは何かについて1から解説していきます。
continue文とは何か
continueとは日本語で「続く」を意味しますよね。ただ、プログラミングの場合は少しだけ意味合いが変わってくるのがややこしいところです。
プログラミングの場合、continue文は「繰り返し処理の1つをスキップさせる」ために使います。
for文やwhile文のような繰り返し処理の中でcontinue文を使うと、それ以降の処理がスキップされ、次の繰り返し処理に進むようになるのです。
continue文を使うのは繰り返し処理の中だけです。その他で使うことはありません。
このように、continue文は繰り返し処理の中で、処理をスキップさせるために使うものなのです。
continue文の役割
continue文はどのような場合に使われるのでしょうか。
あくまで一例ですが、continue文は次のような処理を書きたいときに使われます。
- 数字を1つ飛ばしたいとき
- 文字列から特定の文字を除外して表示させたいとき
このように、何か特定の条件のときに繰り返し処理を行いたくない場合に、continue文が活躍します。
continue文を使わなくても、if-else文や例外処理などを使えば処理をスキップさせるようなコードを書くことはできます。ただ、その書き方だとコードが長くなったり見にくくなったりすることがあるんです。
その点continue文は、「continue」と一行書くだけで処理を行えるのでとても便利です。
実際にwebアプリなどを作る場合にもcontinue文はよく使われます。
continue文とpass文との違い
continue文とよく混同されがちなものの1つに「pass文」というものがあります。
pass文は、文法上何か記述しないといけないが、処理を何もさせたくない場合に使用されます。具体的には、次のような場面で使われますね。
- if文での条件分岐に対して、何も処理したくないとき
- インターフェースを定義するとき
- 例外発生時に何も処理したくないとき
pass文は比較的高度な文法なので、サンプルコードを1つ紹介しましょう。
次のコードは「if文での条件分岐に対して、何も処理したくないとき」にpass文を活用しています。
1 name = [‘佐藤’,’田中’,’木村’,’鈴木’,’本田’] 2 3 for n in name: 4 if n == ‘佐藤’: 5 pass 6 else: 7 print(n) |
◯処理結果
documents $ 1python test.py 田中 木村 鈴木 本田 documents $ 1 |
この例では、まずはnameという変数に名前一覧を格納しています。そしてfor文で配列の中身を1つずつ取り出し、順番に処理していますね。名前が「佐藤」であった場合のみpass文で処理を飛ばし、他の場合は「print(n)」で名前を表示させています。
このように、条件分岐で何も処理をさせたくない場合にpass文が使われるのです。
ちなみに、このコードはcontinue文を使って書き直すこともできます。continue文を使うと、次のようになりますよ。
1 name = [‘佐藤’,’田中’,’木村’,’鈴木’,’本田’] 2 3 for n in name: 4 if n == ‘佐藤’: 5 continue 6 print(n) |
◯処理結果
documents $ 1python test.py 田中 木村 鈴木 本田 documents $ 1 |
このコードを実行してもまったく同じ結果になることを確かめてくださいね。
初心者にはpass文は少し理解しにくいかもしれません。そこまで頻繁に使われるものでもないので、今は「こんな文法もあるんだ」と思っていただければ良いです。
continue文の実践方法・具体例
それでは実際にcontinue文を使っているところを確認してみましょう。
ここでは、
- for文でのcontinue文
- while文でのcontinue文
を順に解説していきますね。
for文でのcontinue文
for文内の場合は、continue文は次のように記述します。
1 list = [1, 2, 3, 4, 5] 2 3 for num in list: 4 if(num == 3): 5 continue 6 print(num) |
◯処理結果
documents $ 1python test.py 1 2 4 5 documents $ 1 |
このコードは、「1~5」が格納された配列listをfor文を使って順に処理しています。
「 if(num == 3):」で数が3と等しい場合のみ、continue文で処理をスキップさせていることを確認してください。処理がスキップされた場合、そのループ内ではfor文のその後の処理は一切行われなくなります。
この例では、数が3である場合はcontinue文で処理がスキップされ、 「print(num)」での表示がされなくなってしまうというわけです。
処理がスキップされた結果、「1,2,4,5」しか表示がされなくなりました。これが、代表的なfor文でのcontinueの使い方です。
for文についてはこちらの記事でも詳しく解説しています!
https://www.tech-teacher.jp/blog/python-for/
while文でのcontinue文
while文内の場合は、continue文は次のように記述します。
1 list = [1, 2, 3, 4, 5] 2 3 num = 0 4 while num < 5: 5 if(list[num] == 3): 6 num += 1 7 continue 8 print(list[num]) 9 num += 1 |
◯処理結果
documents $ 1python test.py 1 2 4 5 documents $ 1 |
このコードは、while文で繰り返し処理を行っています。やっていることは先ほどのfor文とまったく一緒です。
「 if(list[num] == 3):」で数が3と等しい場合のみ、continue文で処理をスキップさせています。処理がスキップされた場合はやはりその後の処理は行われなくなります。
これが、代表的なwhile文でのcontinueの使い方です。
while文についてはこちらの記事でも詳しく解説しています!
https://www.tech-teacher.jp/blog/python-while/
pythonにおけるbreak文とは
continue文とよく似たものにbreak文というのがあります。
こちらも合わせて紹介しますね。
continue文とbreak文は状況に合わせて使い分けていくことが肝心です。
break文とは何か
continue文は、繰り返し処理の中で、処理を途中でスキップさせるためのものでした。
対してbreak文は、繰り返し処理の中で、処理を途中で中断させるためのものです。
break文を使うと、その後のループ処理が一切行われず、繰り返し処理が完全に終了します。
breakとは日本語で「中断する」という意味ですが、まさしく処理を途中で中断させるための文法となります。
break文の役割
break文はたとえば、次のような状況で役立ちます。
- 配列に特定の数字や文字列が混入していた場合、処理を中断させたいとき
continue文とはまったく用途が違う点に注意してください。
break文は、例外時や何かトラブルがあった場合に処理を中断させるのに役立ちます。
break文の実践方法・具体例
それではbreak文の具体的な使い方を見ていきましょう。
先ほどと同様に
- for文でのbreak文
- while文でのbreak文
を順に解説していきますね。
for文でのbreak文
for文内の場合は、break文は次のように記述します。
1 list = [1, 2, 3, 4, 5] 2 3 for num in list: 4 if(num == 3): 5 break 6 print(num) |
◯処理結果
documents $ 1python test.py 1 2 documents $ 1 |
この例では、if文で数が3と等しい場合に、break文で処理を中断しています。
結果、表示されるのは「1,2」のみで、後はまったく表示がされなくなりましたね。
このように、処理を完全にやめたい場合にbreak文を使ってください。
while文でのbreak文
while文内の場合は、break文は次のように記述します。
1 list = [1, 2, 3, 4, 5] 2 3 num = 0 4 while num < 5: 5 if(list[num] == 3): 6 num += 1 7 break 8 print(list[num]) 9 num += 1 |
◯処理結果
documents $ 1pyhton test.py 1 2 documents $ 1 |
先ほどとまったく同じ処理結果となります。
この例でも、if文で数が3と等しい場合に、break文で処理を中断させています。
break文で処理を中断させているため、表示されるのはやはり「1,2」のみですね。
使い方としてはcontinue文もbreak文もそこまで違いはありません。ただ、処理内容がまったく異なるので注意しましょう。
『Tech Teacher』3つの魅力
魅力1. オーダーメイドのカリキュラム
『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。
魅力2. 担当教師によるマンツーマン指導
Tech Teacherでは、完全マンツーマン指導で目標達成までサポートします。
東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
そのため、理解できない箇所は何度も分かるまで説明を受けることができます。
魅力3. 3,960円/30分で必要な分だけ受講
Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです。一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。
まとめ
・魅力1. 担当教師によるマンツーマン指導
・魅力2. オーダーメイドのカリキュラム
・魅力3. 3,960円/30分で必要な分だけ受講
質問のみのお問い合わせも受け付けております。
まとめ
本記事ではPythonのcontinue文について解説しました。
continue文の基本的な働きについてご理解いただけたでしょうか?
continue文やbreak文を使えるようになると、繰り返し処理で行えることの幅が広がりますよ。
ぜひこの2つの文法をマスターしてくださいね。
このブログでは他にもPythonの学習に役立つ情報を発信しています!ぜひご覧ください。
https://www.tech-teacher.jp/blog/python-range/
https://www.tech-teacher.jp/blog/python_appdevelopment/