Python初心者向け!break文を使いこなす7つのステップ

Pythonのbreak文を学ぶ初心者のための解説記事の表紙Python
この記事は約8分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

Pythonを学び始めたばかりの初心者の皆さん、こんにちは。

今回は、プログラミング言語Pythonの基本的な要素であるbreak文の使い方について、詳しく解説します。

この記事では、初めてbreak文に触れる方でも理解できるように、基本的な使い方から応用例までを解説します。

例題とコード付きなので、手を動かしながら一緒に学んでいきましょう。

●Pythonとは

Pythonは、シンプルで読みやすいコードを書くことができる人気の高いプログラミング言語です。

学習障壁が低く、初心者にとって取り組みやすい言語として知られています。

Pythonはデータ分析、ウェブ開発、機械学習など、多岐にわたる用途で使用されています。

●break文とは

break文は、ループ処理を中断してループを抜け出すための文です。

ループ処理とは、特定の条件下で同じコードを繰り返し実行することを指します。

例えば、リストの各要素に対して操作を行うときや、特定の条件を満たすまで処理を続けるときなどに使用します。

○break文の基本的な使い方

Pythonでループを作るときには主にfor文とwhile文が使われます。

このループ中で特定の条件を満たした場合にループを中断するために、break文を使用します。

基本的な使い方は次のようになります。

for i in range(10):
  if i == 5:
    break
  print(i)

このコードでは、for文を使って0から9までの数字を順に出力するループを作っています。

しかし、if文によってiが5になった時点でbreak文が実行され、ループが中断されます。

その結果、出力される数字は0から4までとなります。

このように、break文はループ処理を途中で止めるための重要な機能です。

特定の条件を満たした時点で処理を止めたい場合や、不要な処理を省きたい場合などに活用されます。

●break文の詳細な使い方

先程見たように、break文は基本的にループの中で使用され、特定の条件が満たされた場合にループを中断します。

この章では、さらに詳細な使い方を学びます。それでは、次のサンプルコードを見てみましょう。

○サンプルコード1:基本的なbreak文の使い方

for i in range(10):
    if i == 5:
        break
    print(i)

このコードでは、0から9までの範囲でループを回しています。

各ループごとに、変数iが5かどうかをチェックしています。変数iが5になったとき、break文が実行され、ループが中断します。

そのため、結果としては0から4までの数字が順に出力されます。

○サンプルコード2:複雑なループにbreak文を使用する

次に、複数のループが組み合わさったより複雑な場合のbreak文の使用例を見てみましょう。

for i in range(3):
    for j in range(3):
        if i == j:
            break
        print(f"i: {i}, j: {j}")

このコードでは、2つのforループが入れ子になっており、iとjが同じになった場合に内側のループをbreak文で中断しています。

その結果、iとjが異なる場合のみ組み合わせが出力されるので、出力結果は「i: 1, j: 0」と「i: 2, j: 0」、「i: 2, j: 1」になります。

このように、break文は内側のループだけを中断し、外側のループは続行します。

したがって、複数のループを制御する際にもbreak文は非常に有用です。

次に、より実践的な例として、リスト内の特定の要素を探し出して処理を中断するコードを見てみましょう。

●break文の応用例

break文は、ループ処理の途中で条件を満たすと中断するという特性から、様々な応用が可能です。

○サンプルコード3:条件に合致した要素を見つけたらループを終了

numbers = [1, 3, 5, 2, 4, 6]
target = 4

for i in numbers:
    if i == target:
        print(f"ターゲットの数字{target}を見つけました!")
        break

このコードでは、リストnumbersから特定の数字(ここでは4)を見つけると、その旨を出力してループを終了します。

この例では、リスト内の数字を順にチェックしていき、targetと一致する数字が見つかったらbreak文によりループを中断します。

その結果、「ターゲットの数字4を見つけました!」と出力されます。

このように、break文は条件に一致する要素が見つかった時点での処理の終了といった、効率的なコードの作成に役立ちます。

特に、大量のデータの中から特定の情報を見つけ出す際などに有効です。

しかし、特定の条件でループを終了させるだけでなく、意図的に無限ループを作り出し、それをbreak文で制御するという使い方もあります。

○サンプルコード4:無限ループからの脱出

while True:
    user_input = input("4を入力してください:")
    if user_input == "4":
        break
print("正しい入力を受け取りました。")

このコードでは、ユーザーからの入力を受け付け、その入力が”4″であればループから抜け出します。”4″が入力されるまで、このループは無限に回り続けます。

しかし、”4″が入力されると、break文が実行され、”正しい入力を受け取りました。”と出力され、プログラムが終了します。

このように、break文は無限ループからの脱出手段としても使用されます。

さらに、複数のループがネストされている場合に、内側だけでなく外側のループまで一気に抜け出すためにもbreak文を用いることができます。

○サンプルコード5:ネストされたループの脱出

for i in range(5):
    for j in range(5):
        if i * j == 6:
            print(f"探していた数値{i * j}を見つけました!")
            break
    else:
        continue
    break

このコードでは、2つのforループがネストされており、外側のループは変数iに対して、内側のループは変数jに対して0から4までをループしています。

そして、iとjの積が6になった場合に内側のループを抜け、外側のループの先頭に戻ります。

この時、外側のループに対してcontinue文が実行され、次のループを実行します。

しかし、その次のループでも再びiとjの積が6になった場合、内側のループを抜け、外側のループもbreak文により一気に抜けます。

その結果、「探していた数値6を見つけました!」と出力され、プログラムが終了します。

●break文の注意点

break文を使用する際には、次のような点に注意が必要です。

○break文が効かない場合の対処法

break文はループからの脱出を提供しますが、それは現在実行中の最も内側のループに限られます。

したがって、複数のループがネストされている場合には、break文を適切に配置することが重要となります。

また、break文はif文や関数の内部など、ループの外からはアクセスできません。

したがって、ループを外部から制御したい場合には、フラグ変数のような手段を用いる必要があります。

○break文の使用を避ける場合の対処法

また、break文を使用するとコードの可読性が低下することがあるため、必要でない限り使用を避けるという意見もあります。

その代わりに、条件式を工夫したり、別の制御構造を用いることで、break文なしでも同様の動作を実現することができます。

たとえば、whileループの条件式によってループを終了させるといった方法があります。

この点については、次のサンプルコードを参照してください。

i = 0
while i < 10:
    print(i)
    if i == 5:
        print("5に達しました。")
        i += 1
        continue
    i += 1

このコードでは、whileループの条件式を満たさなくなった時点でループが自動的に終了します。

したがって、このコードではbreak文を使用していません。

これらの注意点を理解することで、Pythonのbreak文をより適切に使いこなすことができます。

●break文のカスタマイズ

break文は基本的にループから脱出する機能を持つだけですが、Pythonの豊富なライブラリや機能を組み合わせることで、さまざまなカスタマイズが可能です。

例えば、例外処理と組み合わせてbreak文を活用することができます。

○例外処理を用いたカスタマイズ例

class BreakLoop(Exception):
    pass

try:
    while True:
        data = input()
        if data == '4':
            raise BreakLoop
        print(data)
except BreakLoop:
    print('正しい入力を受け取りました。')

このコードでは、Pythonの例外処理を利用しています。一見複雑に見えるかもしれませんが、このコードのポイントはカスタム例外BreakLoopの定義とその発生です。

この例では、ユーザからの入力が’4’であればBreakLoopを発生させています。

これにより、例外が捕捉され、”正しい入力を受け取りました。”と表示されます。

このように、例外処理を使用すれば、一般的なbreak文のスコープ(ループ内)を超えてループを制御することが可能になります。

まとめ

以上、Pythonのbreak文について解説しました。

これらの情報がPython初心者の皆さんの学習にとって有益であれば幸いです。

今後もプログラミングに関するさまざまな情報を提供してまいりますので、ぜひお楽しみに。