あらゆるプログラミング言語を使用する場合、すべての開発者が望むのは、メモリ効率が高く、実行速度が速いコードを書くことです。 Python にはガベージ コレクターがあるため、メモリの割り当てと割り当て解除は手動ではありません。
さて、ガベージ コレクターとは何ですか。
ガベージ コレクションとは、メモリが使用されていないときにどのように解放され、他のオブジェクトで使用できるようにするかを指します。 Python は使用されなくなったオブジェクトを削除します。これがガベージコレクションと呼ばれるものです。ガベージ コレクターはプログラムの実行を開始し、参照カウントがゼロになるとアクティブになります。
Python のガベージ コレクターはプログラムの実行中に実行され、オブジェクトの参照カウントが 0 に達するとトリガーされます。オブジェクトを指すエイリアスの数が変化すると、オブジェクトの参照カウントも変化します。
次に、Python でメモリがどのように割り当てられるかを見てみましょう -
静的メモリ割り当てでは、メモリはコンパイル時に割り当てられます。スタック データ構造には静的メモリが格納されます。
スタックにメモリを割り当てる簡単な例 -
リーリー動的メモリ割り当てでは、メモリは実行時に割り当てられます。ヒープには動的メモリが格納されます。オブジェクトが不要になった場合は、メモリ領域が解放されます。
メモリが 2 つの整数のヒープに割り当てられる簡単な例 -
リーリー上で説明したように、ガベージ コレクターはプログラムとともに実行を開始し、参照カウントがゼロになるとアクティブ化されます。参照カウントとは何かを見てみましょう。
Python ガベージ コレクターはプログラムの実行を開始し、参照カウントがゼロになるとアクティブになります。参照カウントがいつ増加または減少するかを見てみましょう
参照カウント値が増加した場合 -
参照カウントは、新しい名前が割り当てられるか、辞書やタプルに割り当てられると、その値が増加します。
オブジェクトへの参照を再割り当てすると、参照カウントの値が減少します。
参照数が減少した場合 -
したがって、参照カウントは実際には、他のオブジェクトがオブジェクトを参照する回数になります。このようにして、参照カウントがゼロになったときに割り当て解除が行われます。
以上がPython でのメモリ管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。