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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Работа с исключениями в Python
  2. Работа с часовыми поясами в Python.
  3. Объединение Python и Shell
  4. Проверка подстроки в строке с помощью in
  5. Форматирование строк в Python
  6. Форматирование строк в Python
  7. Отслеживание прогресса с tqdm
  8. Преобразование текста в нижний регистр
  9. Показ всплывающих окон Tkinter
  10. Операторы увеличения и уменьшения переменной
  11. Генерация случайных данных в NumPy
  12. Преобразование Excel в PDF с Spire.XLS
  13. Метод count() для списков
  14. Python UserString — создание подклассов строк
  15. Именование столбцов в Python с pandas
  16. Виртуальное окружение Python
  17. Генераторы в Python
  18. Получение ID процесса
  19. Создание веб-приложения с Flask
  20. Работа с изображениями PIL
  21. Документация функции help() в Python
  22. Подсчет вхождений элементов
  23. Передача неизвестных аргументов в Python.
  24. Метод rmatmul для обратного матричного умножения
  25. Создание Telegram-бота на Python
  26. Проверка типов с использованием isinstance
  27. Переопределение метода len
  28. Сравнение строк в Python
  29. Функция reduce() в Python
  30. Загрузка постов Instagram
  31. Проверка наличия элемента в списке
  32. Управление контекстом с помощью декоратора contextmanager
  33. Метод rrshift для пользовательских объектов
  34. Оператор continue в Python
  35. Игра «Камень, ножницы, бумага» — Python
  36. Декораторы в Python
  37. Обновление данных через PUT запрос
  38. Лямбда-функции в Python
  39. Замена текста с помощью sub
  40. Логические значения в Python
  41. Работа с массивами в Python
  42. Замыкания в Python
  43. Символ подчеркивания в Python
  44. Фильтрация последовательности
  45. Фильтрация входных данных в Python

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