【Python】exitに関わる3つの関数を実例付きで丁寧に解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新日:2023年7月)

✔ この記事は以下のような疑問を持つ方に向けて書かれています

「Pythonのexitって何をするものなの?」
「Pythonでexitの使い方を知りたい」
「Pythonにおけるexitを使用した具体的なコードが見たい」

✔ 当記事を通して伝えたいこと

  • exitの基本概念
  • Pythonでexitを正しく使う方法
  • Pythonのexitを活用した実例

当記事では、Python exitの基本から、オプションを駆使した応用方法まで、具体的なコード例を交えてわかりやすく解説していきます。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間17万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

はじめに

こちらでは、Pythonプログラムを終了させる方法についてお伝えしていきます。

プログラムを終了する理由や方法を知ることで、開発の効率を向上させられるでしょう。

  • Pythonプログラムの終了方法
  • 各関数の実例

Pythonプログラムの終了方法

Pythonプログラムを終了する方法はいくつかあります。

  • exit()関数
  • sys.exit()関数
  • os._exit()関数

これらの関数は異なる目的や状況で使用され、特定の条件下でプログラムを終了させる場合に役立ちます。

各関数の実例

exit()関数は、Pythonの組み込み関数のひとつで、実行中のプログラムを終了させるために使用されます。

以下が使用例です。

print("プログラムを終了します")
exit()
print("この行は実行されません")

exit()関数を呼び出すことでプログラムが終了します。

したがって、”この行は実行されません”というメッセージは表示されません。

sys.exit()関数は、Pythonのsysモジュールに含まれる関数であり、プログラムを終了させるために使用されます。

以下が例です。

import sys

print("プログラムを終了します")
sys.exit()
print("この行は実行されません")

sys.exit()関数を呼び出すことでプログラムが終了します。

したがって、”この行は実行されません”というメッセージは表示されません。

またsysモジュールをインポートする必要がある点に注意してください。

os._exit()関数は、Pythonのosモジュールに含まれる関数であり、プログラムを強制的に終了させるために使用されます。

以下がその例です。

import os

print("プログラムを終了します")
os._exit(0)
print("この行は実行されません")

os._exit()関数を呼び出すことでプログラムが終了します。

プログラムを即座に終了させるため、後続の処理や終了処理は実行されません。

モジュールのインポートもわすずにおこないましょう。

アプローチ1: exit()関数

こちらでは、exit()関数を用いたPythonプログラムの終了方法について説明します。

  • exit()関数の概要と使用例
  • エラーメッセージ付きで終了する方法
  • エラーコードを返す方法

exit()関数の概要と使用例

exit()関数はPythonの組み込み関数であり、プログラムを終了させるために使用されるもの。

引数を渡さずにexit()を呼び出すと、プログラムは正常に終了します。

対話的なシェルでよく使用される関数です。

print("プログラムを終了します。")
exit()

エラーメッセージ付きで終了する方法

exit()関数に文字列を渡すと、その文字列がエラーメッセージとして出力されます。

print("エラーが発生しました。")
exit("プログラムを終了します。")

エラーコードを返す方法

exit()関数はエラーコードを受け取れません。

エラーコードを返したい場合は、sys.exit()関数を使用しましょう。

アプローチ2: sys.exit()関数

こちらでは、sys.exit()関数を用いたPythonプログラムの終了方法について説明します。

  • sys.exit()関数の概要と使用例
  • オプション引数argの使い方
  • 終了ステータスの確認方法
  • 注意点: 例外処理内では使えない

sys.exit()関数の概要と使用例

sys.exit()関数は、sysモジュールに属しており、プログラムを終了させる機能をもちます。

この関数では、終了ステータスをオプションで指定可能です。

終了ステータスは、プログラムが成功したかどうかを示す情報のことになります。

import sys

print("プログラムを終了します。")
sys.exit()

オプション引数argの使い方

オプションの使い方を具体的に見ていきましょう。

  • 整数型の引数: 終了ステータス
  • 文字列型の引数: エラーメッセージ

整数型の引数: 終了ステータス

sys.exit()関数に整数値を渡すことで、その値が終了ステータスとして返されます。

0は成功、それ以外の値はエラーを意味します。

import sys

if error_occurred:
    sys.exit(1)
else:
    sys.exit(0)

文字列型の引数: エラーメッセージ

sys.exit()に文字列を渡すと、その文字列が標準エラー出力に表示され、プログラムは終了します。

import sys

sys.exit("エラーが発生しました。プログラムを終了します。")

終了ステータスの確認方法

コマンドラインからPythonスクリプトを実行した後、ターミナルで以下のようにします。

$ echo $?
1

echo $?コマンドで、終了ステータスを確認できます。

注意点: 例外処理内では使えない

sys.exit()関数はSystemExit例外を発生させます。

したがってこの関数を、tryブロック内で使用すると、例外処理によってキャッチされる可能性があるので気をつけましょう。

アプローチ3: os._exit()関数

こちらでは、os._exit()関数を用いたPythonプログラムの終了方法について説明します。

  • os._exit()関数の概要
  • os._exit()関数の使い方と注意点

os._exit()関数の概要

os._exit()関数は、osモジュールの一部で、プロセスを直接終了させるために使用されます。

終了ステータスを引数として受け取り、プログラムを即座に終了させる機能を持つ関数です。

子プロセスを終了させる際に特に役立ちます。

os._exit()関数の使い方と注意点

os._exit()関数は、通常の終了処理をバイパスするため、finallyブロックやオブジェクトデストラクタが実行されません。

そのため、この関数を使用する際は慎重さが必要です。

一般的には、子プロセスが終了する際に使用されます。

import os

print("プロセスを終了します。")
os._exit(0)

まとめ: Pythonプログラムの適切な終了方法

当記事でお伝えしてきた内容をまとめます。

  • exit()関数:インタラクティブシェルでの使用に適しており、簡潔
  • sys.exit()関数:エラーコードを指定してプログラムを終了させる場合に適している
  • sys.exit():スクリプトの実行環境でもよく使用される

以下が使用場面を選択するためのポイントです。

  • インタラクティブなシェルで簡潔に終了させる場合はexit()を使用
  • スクリプトを終了させてエラーコードを返す場合はsys.exit()を使用
  • 子プロセスを終了させる場合や、通常の終了処理をバイパスする必要がある場合はos._exit()を使用

これで、Pythonプログラムを適切に終了させる方法についての基本的な知識が得られたと思います。

プログラムの状況に応じて、適切な終了方法を選ぶことが重要です。

タイトルとURLをコピーしました