del
Python での変数の呼び出し。これにより、割り当てられたメモリがすぐに解放されますか、それともガベージ コレクターが収集するのを待っていますか? Java と同様に、明示的に呼び出しdel
てもメモリが解放されるタイミングには影響しません。
10528 次
4 に答える
35
del ステートメントはメモリを再利用しません。参照を削除すると、値の参照カウントが減少します。カウントがゼロの場合、メモリを再利用できます。CPython はすぐにメモリを再利用します。ガベージ コレクターが実行されるのを待つ必要はありません。
実際、ガベージ コレクタは、循環構造を再利用するためにのみ必要です。
Waleed Khan がコメントで述べているように、Python のメモリ管理は機能するので、心配する必要はありません。
于 2013-02-19T23:47:38.423 に答える
3
「名前を削除すると、ローカルまたはグローバル名前空間からその名前のバインディングが削除されます」. それ以上でもそれ以下でもありません。名前が指しているオブジェクトに対しては、refcount をデクリメントする以外は何もしません。refcount が 0 でない場合、GC が実行されてもオブジェクトは収集されません。
于 2013-02-19T23:46:59.320 に答える