ホームページ  >  記事  >  バックエンド開発  >  Python でのメモリ管理

Python でのメモリ管理

WBOY
WBOY転載
2023-09-10 21:33:031475ブラウズ

Python でのメモリ管理

あらゆるプログラミング言語を使用する場合、すべての開発者が望むのは、メモリ効率が高く、実行速度が速いコードを書くことです。 Python にはガベージ コレクターがあるため、メモリの割り当てと割り当て解除は手動ではありません。

さて、ガベージ コレクターとは何ですか。

ガベージコレクター

ガベージ コレクションとは、メモリが使用されていないときにどのように解放され、他のオブジェクトで使用できるようにするかを指します。 Python は使用されなくなったオブジェクトを削除します。これがガベージコレクションと呼ばれるものです。ガベージ コレクターはプログラムの実行を開始し、参照カウントがゼロになるとアクティブになります。

Python のガベージ コレクターはプログラムの実行中に実行され、オブジェクトの参照カウントが 0 に達するとトリガーされます。オブジェクトを指すエイリアスの数が変化すると、オブジェクトの参照カウントも変化します。

次に、Python でメモリがどのように割り当てられるかを見てみましょう -

静的メモリ割り当て - スタック

静的メモリ割り当てでは、メモリはコンパイル時に割り当てられます。スタック データ構造には静的メモリが格納されます。

スタックにメモリを割り当てる簡単な例 -

リーリー

動的メモリ割り当て – ヒープ

動的メモリ割り当てでは、メモリは実行時に割り当てられます。ヒープには動的メモリが格納されます。オブジェクトが不要になった場合は、メモリ領域が解放されます。

メモリが 2 つの整数のヒープに割り当てられる簡単な例 -

リーリー

上で説明したように、ガベージ コレクターはプログラムとともに実行を開始し、参照カウントがゼロになるとアクティブ化されます。参照カウントとは何かを見てみましょう。

参照数

Python ガベージ コレクターはプログラムの実行を開始し、参照カウントがゼロになるとアクティブになります。参照カウントがいつ増加または減少するかを見てみましょう

参照カウント値が増加した場合 -

  • 参照カウントは、新しい名前が割り当てられるか、辞書やタプルに割り当てられると、その値が増加します。

  • オブジェクトへの参照を再割り当てすると、参照カウントの値が減少します。

参照数が減少した場合 -

  • オブジェクトへの参照が範囲外になると、この値は減ります。
  • この値は、オブジェクトが削除されると減少します。

したがって、参照カウントは実際には、他のオブジェクトがオブジェクトを参照する回数になります。このようにして、参照カウントがゼロになったときに割り当て解除が行われます。

以上がPython でのメモリ管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。