pythonのsys.exit() プログラム処理終了とコード

Pythonの終了方法について

Pythonの終了方法について

return、sys.exit、quit関数が動作的に同じ結果を『Pythonの終了方法』について説明します。
Pythonでプログラムを終了させる方法としては、returnを使うか、sys.exitを使うか、quitを使うかの3つがあります。
returnは関数を終了させるために使われますが、sys.exitは汎用的にプログラムを終了させるために特別に使われます。
quit関数は特にPythonのインタラクティブシェルやコンソールから終了させるために使われることが多いです。

Pythonの終了関数

Pythonの終了関数

Pythonの終了関数とは、プログラムを終了させるための関数です。

Pythonには、以下の2つの終了関数があります。

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

sys.exit()

sys.exit()は、プログラムを終了させるための最も一般的な関数です。sys.exit()を呼び出すと、プログラムは直ちに終了します。

sys.exit()の引数には、終了コードを指定することができます。終了コードは、プログラムの終了を示すために使用されます。

os._exit()

os._exit()は、sys.exit()と同様にプログラムを終了させるための関数です。os._exit()は、sys.exit()よりも高速にプログラムを終了させることができます。

os._exit()は、通常、シリアルポートやファイルなどの、低レベルのシステムリソースを解放するために使用されます。

終了関数の使い方

終了関数の使い方は、以下のとおりです。

import sys

# プログラムを終了する
sys.exit(0)

このコードは、終了コード0でプログラムを終了します。終了コード0は、プログラムが正常に終了したことを示すために使用されます。

終了関数の例

終了関数の例をいくつかご紹介します。

  • ユーザーが「q」を入力したらプログラムを終了する
import sys

while True:
    input_str = input("qを入力すると終了します。: ")
    if input_str == "q":
        sys.exit()
  • エラーが発生したらプログラムを終了する
try:
    # 処理を行う
except Exception as e:
    print(e)
    sys.exit(1)

Pythonの終了メソッド

Pythonの終了メソッド

プログラム自体の終了ではなく、オブジェクトを破棄したいときなどにつかうのが終了メソッド。オブジェクトのライフサイクルを終了させるためのメソッドです。

Pythonには、以下の2つの終了メソッドがあります。

  • close()
  • del()

close()

close()は、オブジェクトを閉じるときに呼び出すメソッドです。close()を呼び出すと、オブジェクトは使用できなくなります。

close()は、通常、ファイルやネットワーク接続などの、リソースを占有しているオブジェクトで使用されます。

del()

del()は、オブジェクトを削除するときに呼び出すメソッドです。del()を呼び出すと、オブジェクトはメモリから解放されます。

del()は、通常、不要になったオブジェクトを削除するために使用されます。

終了メソッドの使い方

終了メソッドの使い方は、以下のとおりです。

# ファイルオブジェクトを作成
file = open("test.txt", "w")

# ファイルオブジェクトを閉じる
file.close()

このコードは、ファイルを書き込みモードで開き、その後、close()メソッドを呼び出してファイルを閉じます。

終了メソッドの例

終了メソッドの例をいくつかご紹介します。

  • ファイルを閉じる
# ファイルオブジェクトを作成
file = open("test.txt", "w")

# ファイルを書き込む
file.write("Hello, world!")

# ファイルを閉じる
file.close()
  • オブジェクトを削除する
# オブジェクトを作成
obj = MyObject()

# オブジェクトを削除
del obj

これらの例を参考に、自分のニーズに合わせて終了メソッドを使用してください。

終了メソッドと終了関数の違い

終了メソッドと終了関数の違いは、以下の通りです。

終了メソッド 終了関数
オブジェクトのライフサイクルを終了させる プログラムを終了させる
オブジェクトを閉じる、削除する プログラムの終了コードを指定できる

終了メソッドは、オブジェクトのライフサイクルを終了させるために使用されます。一方、終了関数は、プログラムを終了させるために使用されます。

Pythonの終了ステータス

Pythonの終了ステータス

終了コードは、プログラムの終了を示すために使用される整数値です。終了コードは、プログラムが正常に終了した場合は0、エラーが発生した場合は1以上の値となります。

終了コードの指定

終了コードは、終了関数に引数として指定します。

import sys

# 終了コード0でプログラムを終了する
sys.exit(0)

終了コードの例

終了コードの例をいくつかご紹介します。

  • 正常に終了する
import sys

# 終了コード0でプログラムを終了する
sys.exit(0)
  • エラーが発生する
import sys

try:
    # 処理を行う
except Exception as e:
    print(e)
    sys.exit(1)