【Python】exit()などでプログラムを実行停止するコード例

【Python】exit()などでプログラムを実行停止するコード例

公開: 更新:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座



Pythonプログラムの実行を停止するコード

Pythonプログラムを意図的に停止させるには、標準ライブラリに含まれる複数の方法があります。一般的には`exit()`関数や`sys.exit()`関数を使用することによって、プログラムの実行を任意のタイミングで終了できます。これらの関数は条件分岐と組み合わせることで、特定の条件が満たされた時にのみプログラムを停止する処理が実装できます。

【サンプルコード】
# 基本的な実行停止の例
print("プログラム開始")

# 条件に基づいて停止
x = 10
if x > 5:
    print("条件を満たしたため終了します")
    exit()  # プログラムを停止

print("この行は表示されません")
【実行結果】
プログラム開始
条件を満たしたため終了します

上記の例では`exit()`関数を使用していますが、この関数はインタラクティブシェルでの使用が推奨されています。実際のプログラム内では`sys`モジュールの`exit()`関数を使用するほうが正式な方法とされています。`sys.exit()`関数を使用すると終了コードを指定することも可能です。


Python研修一覧はこちら

目的に合うPython研修を一覧形式から探したい方は、ぜひご利用ください。

Python研修を比較する

Java研修一覧はこちら

目的に合うJava研修を一覧形式から探したい方は、ぜひご利用ください。

Java研修を比較する

PHP研修一覧はこちら

目的に合うPHP研修を一覧形式から探したい方は、ぜひご利用ください。

PHP研修を比較する

新入社員研修

目的に合う新入社員研修を一覧形式から探したい方は、ぜひご利用ください。

新入社員研修を比較する

全ての研修からも探したい方はこちら

Pythonで関数やループから途中で終了するコード

Pythonではプログラム全体を終了させるだけでなく、関数やループから途中で抜け出す方法も複数用意されています。関数内では`return`文を使用することによって、その時点で関数の実行を終了して呼び出し元に制御を戻すことができます。また、ループ処理では`break`文を使用することで、ループから即座に抜け出すことが可能です。

【サンプルコード】
# 関数とループの途中終了例

def check_number(num):
    if num < 0:
        print("負の数は処理できません")
        return False  # 関数を終了して False を返す
    
    print(f"{num}は有効な数値です")
    return True  # 関数を終了して True を返す

# ループの途中終了
numbers = [1, 2, 3, -4, 5]
for num in numbers:
    if not check_number(num):
        print(f"{num}で処理を中断します")
        break  # ループを終了
    print(f"{num}の処理を完了しました")

print("プログラム終了")
【実行結果】
1は有効な数値です
1の処理を完了しました
2は有効な数値です
2の処理を完了しました
3は有効な数値です
3の処理を完了しました
負の数は処理できません
-4で処理を中断します
プログラム終了

`return`文は関数内でのみ使用でき、関数の外で使うとエラーになります。関数内での`return`文は、値を返すだけでなく関数の実行を即座に終了させる効果もあるため、条件によって処理を分岐させる場合に非常に便利です。一方で`break`文はループ構造(for文やwhile文)の内部でのみ有効です。

sys.exitを使用したPython実行停止コード

`sys.exit()`関数はプログラムを停止させる正式な方法として広く使用されています。`sys.exit()`を使用するためには最初に`sys`モジュールをインポートする必要があります。`sys.exit()`関数は引数として終了コードを受け取ることができ、プログラムが正常終了したか異常終了したかを呼び出し元のシステムに伝えることができます。

【サンプルコード】
import sys

def process_data(data):
    if not data:
        print("データが空です")
        sys.exit(1)  # 異常終了(終了コード1)
    
    print(f"データ処理: {data}")
    return True

try:
    # 正常なケース
    process_data("テストデータ")
    
    # 異常なケース
    empty_data = ""
    process_data(empty_data)
    
    print("この行は表示されません")
except SystemExit as e:
    print(f"SystemExit例外が発生しました。終了コード: {e.code}")
    
print("プログラムは継続しています")
【実行結果】
データ処理: テストデータ
データが空です
SystemExit例外が発生しました。終了コード: 1
プログラムは継続しています

`sys.exit()`は内部的に`SystemExit`例外を発生させるため、try-except文でキャッチすることが可能です。上記の例では`SystemExit`例外を捕捉して処理を継続していますが、実際のプログラムでは通常このような使い方はせず、`sys.exit()`が呼ばれたらそのままプログラムを終了させます。終了コードは慣例的に0が正常終了、それ以外(多くの場合1)が異常終了を意味します。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

Pythonで処理を強制終了するコード(例外処理)

Pythonでは例外処理を活用して処理を制御することも可能です。`raise`文を使用して意図的に例外を発生させることによって、プログラムの流れを変更できます。例外処理を適切に行うことによって、エラーが発生した場合でもプログラムが制御された方法で終了するようにできます。

【サンプルコード】
# 例外を使った処理制御

def divide(a, b):
    if b == 0:
        raise ValueError("ゼロ除算はできません")
    return a / b

def calculate_values(values):
    results = []
    try:
        for i, (a, b) in enumerate(values):
            try:
                result = divide(a, b)
                results.append(result)
                print(f"計算 {i+1}: {a} ÷ {b} = {result}")
            except ValueError as e:
                print(f"計算 {i+1} でエラー: {e}")
                raise RuntimeError("計算を中止します") from e
    except RuntimeError as e:
        print(f"処理を中断: {e}")
        return results
    
    print("すべての計算が完了しました")
    return results

# テストデータ
calculations = [(10, 2), (20, 5), (30, 0), (40, 8)]
results = calculate_values(calculations)
print(f"結果: {results}")
print("プログラム終了")
【実行結果】
計算 1: 10 ÷ 2 = 5.0
計算 2: 20 ÷ 5 = 4.0
計算 3 でエラー: ゼロ除算はできません
処理を中断: 計算を中止します
結果: [5.0, 4.0]
プログラム終了

例外処理は正常系と異常系の処理を明確に分離できるため、コードの可読性と保守性が向上します。上記の例では`ValueError`例外を`raise`してゼロ除算を検出し、その例外を`RuntimeError`に変換して上位の関数に伝播させています。これによって処理を制御された方法で中断し、その時点までの計算結果を返しています。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

企業・法人向けのIT・プログラミング・生成AI研修を探す、比較する - IT・プログラミングを知って学べるコネクトメディア CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 3.5日の研修で、年間1,600時間の削減効果が見込まれる。東京きらぼしフィナンシャルグループのDX人材育成事例 - IT・プログラミングを知って学べるコネクトメディア 配属3ヶ月で30%の生産性向上を実現するいよぎんコンピュータサービスの新人研修に迫る - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する