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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Инициализация объекта
  2. Объединение Python и Shell
  3. Вычисление натурального логарифма в NumPy
  4. Применение промокода в Много лосося
  5. Тип CodeType в Python.
  6. Функции с необязательными аргументами
  7. Упрощение условных выражений с тернарным оператором
  8. Просмотр атрибутов и методов класса
  9. Работа с collections в Python.
  10. Измерение времени выполнения кода
  11. Перегрузка операторов в Python
  12. Работа с набором данных CIFAR10 в PyTorch
  13. Python Метод del.
  14. Удаление элементов во время итерации
  15. Блок try…finally в Python
  16. Оператор «not» в Python
  17. Подсказки типов в Python
  18. Создание таблиц в терминале с PrettyTable
  19. Удаление ключа из словаря
  20. Удаление файлов в Python
  21. Возвращение нескольких значений через кортеж или класс
  22. Работа с файлами и директориями в Python.
  23. Проблема с изменяемыми аргументами
  24. Проверка типа данных
  25. Модуль antigravity: генерация координат
  26. Счетчик ссылок в Python
  27. Сравнение объектов в Python
  28. Метод difference_update() — разность множеств
  29. Основы работы с базами данных в Python
  30. Открытие и запись файлов
  31. Именование столбцов в Python с pandas
  32. Работа с кортежами
  33. Явный импорт в Python
  34. Модуль os в Python: работа с файлами
  35. Экспорт внешнего файла с помощью writefile
  36. Переворот строки с помощью срезов
  37. Преобразование кортежа в словарь.
  38. Метод __float__ в Python
  39. Работа со строками в Python
  40. Установка Git и AWS CLI
  41. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  42. Генераторы в Python
  43. Навыки Python: строки, типы данных
  44. Функция enumerate() в Python
  45. Работа со строками
  46. Декораторы для регистрации функций
  47. Документация функции help() в Python

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