ガベージコレクションのサンプルコード
Pythonのガベージコレクションは、参照カウント方式や世代別ガベージコレクションなどのアルゴリズムに基づいて不要なオブジェクトを検出し、解放します。以下は、ガベージコレクションが働く例です。
python
import gc # サンプルのクラスを定義 class MyClass: def __init__(self, name): self.name = name print('{} object created'.format(self.name)) def __del__(self): print('{} object deleted'.format(self.name)) # オブジェクトの作成 obj1 = MyClass('obj1') obj2 = MyClass('obj2') # サイクル参照を作成 obj1.ref = obj2 obj2.ref = obj1 # オブジェクトを削除 del obj1 del obj2 # ガベージコレクションを手動で呼び出す gc.collect()
このコードでは、MyClassというクラスを定義し、そのインスタンスを作成しています。また、obj1とobj2の間で循環参照(サイクル参照)を作成しています。最後に、del文でobj1とobj2を削除し、gc.collect()でガベージコレクションを手動で呼び出しています。
ガベージコレクションは、不要なオブジェクトを検出し、それらを解放するため、不要な循環参照などの問題を回避するのに役立ちます。

ディスカッション
コメント一覧
まだ、コメントがありません