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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Преобразование регистра строк
  2. Измерение времени выполнения кода
  3. Сравнение объектов в Python
  4. Функция enumerate в Python
  5. Фильтрация входных данных в Python
  6. Удаление первого элемента списка
  7. Объединение Python и Shell
  8. Работа с Path в Python
  9. Делегирование в Python
  10. Комментарии в Python
  11. Работа со словарями в Python
  12. Инвертирование словаря
  13. Инверсия списка/строки в Python
  14. Преобразование Word в PDF с Spire.Doc
  15. Метод get для словарей
  16. Работа с временем в Python
  17. Отрицательные индексы списков
  18. Работа с эмодзи в Python
  19. Поиск частого элемента
  20. Измерение времени выполнения
  21. Множественное назначение в Python
  22. Обработка ошибок в JSON данных
  23. Оператор in для проверки наличия элемента
  24. f-строки в формате строк
  25. Python Тесты и Гайды
  26. Python Calendar Usage
  27. Чтение и запись TOML-конфигов
  28. Оператор морж в Python 3.8
  29. Переопределение метода sub
  30. Библиотека sh: удобные команды терминала
  31. Просмотр файла в Jupyter Noteboo
  32. Печать календаря в Python
  33. Введение в Python
  34. Синтаксис переменных цикла в Python
  35. Округление банкира в Python
  36. Оператор объединения словарей
  37. Метод ifloordiv для пользовательских классов
  38. Глобальные переменные в Python
  39. Отладка производительности Python
  40. Принцип одной функции
  41. Тип данных TypeVarTuple
  42. Преобразование числа в восьмеричную строку
  43. Изменение элемента списка
  44. Переменные в Python
  45. Извлечение новостей с помощью newspaper3k
  46. Метод join() для объединения элементов
  47. Создание циклической ссылки
  48. Генерация QR-кодов с Python

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