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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Экспорт данных с помощью writefile
  2. Непрерывная проверка в Python
  3. Создание новых списков в Python
  4. Работа с getopt
  5. Создание итератора
  6. Работа с NumPy.linalg
  7. Объединение словарей в Python
  8. Python: возвращение нескольких значений
  9. Очистка данных с Pandas
  10. Операция += для списков
  11. Преобразование range в итератор
  12. Работа с кортежами в Python
  13. Переопределение метода __and__
  14. Классы данных в Python
  15. Преобразование кортежа в словарь.
  16. Функция zip() в Python
  17. Обработка ошибок в Python
  18. Создание уникального проекта
  19. Улучшенные подсказки для импорта в Python 3.12
  20. Применение функции map() в Python
  21. Логирование в Python
  22. Функция sleep() в Python
  23. Группировка элементов в словарь
  24. Работа с OpenCV
  25. Выражения-генераторы в Python
  26. Транспонирование матрицы в Python
  27. Использование *args
  28. Объединение строк с помощью метода join
  29. Работа со словарями в Python
  30. Отображение графиков в Jupyter с Matplotlib
  31. Создание новой даты в Python
  32. Блок else в циклах Python
  33. Доступ к локальным переменным
  34. Хранение переменных в Python.
  35. Работа с NumPy
  36. Оптимизация гиперпараметров в Python
  37. Создание генераторов
  38. Объединение списков в Python
  39. Удаление ресурса в Python
  40. Обновление ключей в Python
  41. Логирование с Logzero
  42. Оператор деления для класса Rational
  43. Управление User-Agent в Python
  44. Операторы += в Python
  45. Python: Splat-оператор и splatty-splat
  46. Подсчет частотности элементов в Python

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