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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Добавление элемента в список.
  2. Обработка элементов в Python
  3. Поиск HTML-элементов с BeautifulSoup
  4. Разделение строки с регулярными выражениями
  5. Инициализация переменных
  6. Оператор in в Python
  7. Удаление элементов по срезу
  8. Протокол управления контекстом
  9. Создание пустых функций и классов в Python
  10. Удаление ключей из словаря
  11. Оператор (*) в Python
  12. Сортировка HTML по CSS-селектору
  13. Преобразование строк в числа в Python
  14. Подсчет элементов в Python
  15. Перевод эмодзи и эмотиконов.
  16. Создание инструмента обнаружения плагиата
  17. Метод difference_update() — разность множеств
  18. Сложение матриц в NumPy
  19. Комментарии в Python
  20. Python Метод del.
  21. Перегрузка операторов в Python
  22. Виртуальное окружение Python
  23. Списковый компрехеншен.
  24. Тестирование с responses
  25. Класс Counter() для подсчета элементов
  26. Отладка производительности Python
  27. Проверка условий: all и any
  28. Работа с файлами в Python
  29. Функции-генераторы в Python
  30. Работа с CSV файлами в Python
  31. Модуль subprocess: запуск внешних команд
  32. Сравнение строк в Python
  33. Работа с Colorama
  34. Печать календаря
  35. Вывод символов строки в Python
  36. Объединение списков в Python
  37. Отображение HTML кода в Python
  38. Форматирование строк в Python
  39. Установка и использование Python-dateutil
  40. Работа с контекстными менеджерами
  41. Перевод текста с Python Translator
  42. Создание namedtuple списком полей
  43. Метод add для класса Vector
  44. Вывод букв строки в Python
  45. Списковое включение в Python
  46. Распаковка с оператором *

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