【Python】デストラクタはプログラマの強い味方です
2023 年 7 月 31 日 月曜日 by tomokiyデストラクタとは
言うまでもなく、コンストラクタの反対の役割を担うものです。
クラスインスタンスが破棄される際に必ず実行されます。 例外処理とは関係ないですが、try
~except
の例外処理のfinally
句と似ています。 なので、何があってもクラスの終了時に必ず実行してほしいものを記述します。
どういう動きになっているか
以下のようなプログラムを実行してみると分かりやすいです。
class Test1:
def __init__(self) -> None:
print("Test1のコンストラクタを実行しました。")
test2 = Test2()
def __del__(self) -> None:
print("Test1のデストラクタを実行しました。")
class Test2:
def __init__(self) -> None:
print("Test2のコンストラクタを実行しました。")
def __del__(self) -> None:
print("Test2のデストラクタを実行しました。")
test = Test1()