Pythonコーディングスタック:オブジェクトが不要になった... ノート
RSS惑星Python

Pythonコーディングスタック:オブジェクトが不要になったとき • Pythonでのガベージの扱い

Pythonはオブジェクト指向言語として、オブジェクトのメモリ管理を自動で行います。__del__メソッドはファイナライザーとして機能し、オブジェクトが破棄される直前に呼び出されます。Pythonオブジェクトは参照を追跡し、参照カウントがゼロになると、オブジェクトはメモリから削除されます。delキーワードはオブジェクト自体ではなく、オブジェクトへの名前(参照)を削除します。オブジェクトへの最後の参照を削除すると、そのオブジェクトの破棄がトリガーされます。循環参照は、オブジェクトがお互いを参照し合い、参照カウントがゼロにならない場合に発生します。この状況は、対処されない場合、メモリリークにつながります。Pythonの循環ガベージコレクタは、これらの到達不能な循環参照オブジェクトを定期的に特定し、削除します。プログラマーは手動でメモリを管理する必要はありませんが、これらのメカニズムを理解することで、プログラムの動作を診断するのに役立ちます。ガベージコレクションを強制するには、gcモジュールを使用できます。
CdXz5zHNQW_qwwb1NzvBS.png