デジタルトレンドナビ
システム開発

2024.03.07

Pythonでループを途中で抜け出したい?「break」文を使いこなそう!

Pythonでループを途中で抜け出したい?「break」文を使いこなそう!

プログラミングをしていると、条件によってループ処理を途中で抜け出したい場面がありますよね。そんな時に役立つのが「break」文です。

この記事では、初心者でも理解できるように、「break」文の役割と使い方を、コード例を交えて解説します。

この記事でわかること

  • 「break」文とは
  • Pythonでループを抜ける方法

「break」文って何?

「break」文って何?

「break」文は、プログラミングにおいてループ(繰り返し処理)を途中で終了させるために使用される制御文です。例えば、for文やwhile文などのループの中で条件を満たした場合に、それ以上の繰り返しを行わずにループを抜け出す際に使います。これにより、必要のない処理をスキップし、プログラムの効率化や特定の条件下での処理の停止などが可能になります。break文は多くのプログラミング言語でサポートされており、コードの制御フローを柔軟に扱うために広く用いられています。


例えば以下のコードでは、100までの数字を出力するループ処理の中に、5で割れる数字が出力されたらループを終了する「break」文が記述されています。

Python
for i in range(1, 101):
 if i % 5 == 0:
  break
 print(i)

このコードを実行すると、以下の出力になります。

1
2
3
4
5

このように、「break」文を使うと、条件に合致した時点でループ処理を途中で抜け出すことができます。

複数のループを抜け出す

複数のループを抜け出す

複数のループを抜け出す方法として、以下3つの方法を紹介します。

  • フラグ変数を使用する
  • 例外を使用する
  • 関数内でループを使用する

フラグ変数を使用する

フラグ変数を使って、ループを抜けるべきかどうかを判断します。外側のループがフラグ変数を確認し、必要に応じてループを終了します。

Python
break_out = False
for i in range(3):
 for j in range(5):
  if i == 1 and j == 2:
   break_out = True
   break # 内側のループを抜ける
  print(i, j)
 if break_out:
  break # 外側のループを抜ける

例外を使用する

カスタム例外を定義し、条件を満たした場合に例外を投げて、外側のループに対してtry-exceptブロックでキャッチします。これにより複数のループを一度に抜けることができます。

Python
class BreakOutException(Exception):
 pass

try:
 for i in range(3):
  for j in range(5):
   if i == 1 and j == 2:
    raise BreakOutException
  print(i, j)
except BreakOutException:
 pass

関数内でループを使用する

ループを関数内に配置し、特定の条件でreturn文を使用して関数から抜け出します。これにより複数のループから一度に抜け出すことが可能です。

Python
def nested_loops():
 for i in range(3):
  for j in range(5):
   if i == 1 and j == 2:
    return # 関数から抜け出す
  print(i, j)

nested_loops()

その他の注意点

その他の注意点
  • 「break」文は、ループ処理以外では使用できません。
  • 「break」文を多用すると、コードの見通しが悪くなります。

「break」文は便利な機能ですが、使い所を間違えると、コードが分かりにくくなってしまいます。

必要に応じて「break」文を使用し、コードをスッキリと記述するようにしましょう。

まとめ

まとめ

「break」文は、ループ処理を途中で抜け出すための便利な構文です。

この記事で解説した内容を参考に、「break」文を使いこなして、効率的なプログラミングを目指しましょう!

投稿者

  • デジタルトレンドナビ編集部

    システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。