В общем, нет. Это не так.
del
удаляет имена из пространств имен , а не объекты.
Конечно, если вы удалите ссылку, и счетчик ссылок достигнет 0, объект будет восстановлен (сразу в CPython).
Но обратите внимание, что в вашем l oop выше, вы все равно создаете другую ссылку , A = c
, поэтому это определенно совсем не помогает.
Существует один сценарий, в котором этот может быть полезным, предположим, вы делаете это в глобальном область видимости, например, на уровне модуля, а не в функции. Поскольку python циклы for не создают свои собственные области действия, c
теперь остается в глобальном пространстве имен и потенциально поддерживает гигантский список до конца программы.
Это обычно лучше решается путем лучшей организации вашей программы в виде модульных функций и создания ссылок только на объекты в глобальной области видимости, которые вы хотите сохранить до конца программы. Однако иногда вы в конечном итоге делаете al oop таким образом, и в этом случае явное удаление этой последней ссылки действительно помогает (но, опять же, поскольку вы сделали A = c
, это все равно не поможет).
Мне кажется, что вы совершенно не понимаете, как работают переменные Python. Я поддерживаю предложение из комментариев, чтобы прочитать:
https://nedbatchelder.com/text/names.html