Как переменная создается и уничтожается в python? - PullRequest
1 голос
/ 18 февраля 2020

Если мы создадим 2 переменные a, а затем b, то как эти переменные будут уничтожены в куче python. Мы хотим понять управление памятью, выполняемое интерпретатором python.

Ответы [ 2 ]

2 голосов
/ 18 февраля 2020

Проще говоря, Python менеджер памяти подсчитывает ссылки на существующие переменные, и если счетчик ссылок равен нулю, сборщик мусора автоматически освобождает место для этой переменной.

Я бы порекомендовал следующие ресурсы чтобы лучше понять поток:

  1. https://realpython.com/python-memory-management/
  2. https://docs.python.org/3/c-api/memory.html
0 голосов
/ 18 февраля 2020

Заказ не определен, так как python имеет сборщик мусора. Чтобы отследить порядок, вы можете добавить метод __del__, который известен как метод деструктора в Python. Он вызывается, когда нет ссылок на объект, и объект является сборщиком мусора.

См. Что такое метод __del__, Как его вызвать?

...