Курс Python → Удаление ссылок в Python

В Python оператор del используется для удаления ссылки на объект, что может привести к освобождению памяти, если на объект больше нет ссылок. Однако, в некоторых случаях операция del может казаться упрямой, особенно при работе в интерактивном режиме.

Например, если создать объект в интерактивном интерпретаторе и попытаться удалить его с помощью del, но предыдущий оператор создаст другую ссылку на этот объект, то операция del не выполнится. Это происходит потому, что объект не будет удален до тех пор, пока на него есть хотя бы одна ссылка.

Для примера, предположим, что у нас есть объект y и мы хотим его удалить с помощью del y. Однако, если предыдущий оператор создает новую ссылку на объект, например, через магическую переменную _, то операция del y не выполнится до тех пор, пока на объект есть хотя бы одна ссылка.


>>> y = "Hello"
>>> _
'Hello'
>>> del y

Чтобы действительно удалить объект, необходимо убедиться, что на него больше нет ссылок. Например, вызов функции globals() может привести к изменению ссылок и, в результате, к удалению объекта. Только после того, как количество ссылок на объект достигнет нуля, операция del будет выполнена и объект будет удален из памяти.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Python-dateutil — работа с датами
  2. Сортировка и разворот списка
  3. Генератор бросков кубиков
  4. Декораторы в Python
  5. Управление виртуальными окружениями в Python
  6. Логирование с Logzero
  7. Объединение словарей в Python
  8. Объединение словарей в Python 3.5+
  9. Работа с файлами в Python
  10. Преобразование строки в число
  11. Логирование с Logzero: ротация файла
  12. Переворот строки
  13. Python Calendar Usage
  14. Комментарии в Python
  15. Работа с CSV в Python
  16. Приближение чисел в Python
  17. Работа с срезами в Python
  18. Список и кортеж в Python
  19. Методы в Python
  20. Пропуск строк в файле с itertools
  21. Генераторы в Python
  22. Основные функции и модули Python
  23. Удаление URL-адресов в Python
  24. Декодирование байтов в строку
  25. Переопределение метода sub
  26. Поиск email
  27. Оптимизация памяти с __slots__
  28. Работа с атрибутом dict
  29. Декораторы в Python
  30. Деление в Python
  31. Генераторы списков в Python
  32. Настройка логгера Logzero
  33. Решение переменной Шредингера
  34. Генераторы в Python
  35. Оператор (*) в Python
  36. Проверка на истинность объектов в Python
  37. Метод clear для коллекций
  38. Работа с Enum в Python3.
  39. Конкатенация строковых литералов
  40. Удаление элементов во время итерации
  41. Объединение словарей в Python
  42. Форматирование строк в Python
  43. Операторы сравнения в Python
  44. Библиотека Rich: форматирование текста
  45. Работа с изображениями PIL
  46. Комментарии в Python.

Marketello читают маркетологи из крутых компаний