Pythonのクラスには、インスタンスが不要になったときにリソースを解放するためのデストラクタとして使用できる __del__
メソッドがあります。デストラクタは、オブジェクトが破棄される際に自動的に呼び出されるメソッドです。
デストラクタの主な目的は、オブジェクトが不要になったときにリソースを解放することです。一般には、プログラムが処理中に動的に確保したリソース (メモリ、ソケット、ファイルディスクリプタなど)を解放するのに用います。
デストラクタの書き方は、クラス中で __del__
メソッドを定義します。以下に具体的なコードを示します。
class Foo:
def __del__(self):
# 任意のコード
上記の Foo
クラスでは、__del__
メソッドがデストラクタとして定義されています。このメソッドは、Foo
クラスのインスタンスが破棄されるときに自動的に呼び出されます。
以下に、デストラクタがどのように動作するかを示すサンプルコードを示します。
class Foo:
def __del__(self):
print('デストラクタの呼び出し')
f = Foo()
print('インスタンスが生成された')
del f
print('インスタンスが破棄された')
このコードを実行すると、以下のような出力が得られます。
インスタンスが生成された
デストラクタの呼び出し
インスタンスが破棄された
この出力から、Foo
クラスのインスタンスが破棄されるときに、デストラクタが呼び出されていることがわかります。
以上がPythonのデストラクタについての基本的な説明です。この情報がPythonのクラスとデストラクタの理解に役立つことを願っています。.