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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Нахождение пересечения множеств
  2. Функция product() из itertools
  3. Замена переменных в Python
  4. Экспорт внешнего файла с помощью writefile
  5. Извлечение чисел из текста
  6. Замена символов в строке
  7. Python: динамическая типизация и проверка типов
  8. Сохранение Unicode в JSON
  9. Обновление ключей в Python
  10. Виртуальные среды в Python
  11. Ускорение выполнения кода в Python
  12. Модуль Antigravity в Python 3
  13. Очистка данных в Python
  14. Новшества Flask 2.0
  15. Метод pos в Python
  16. Преобразование данных в Python
  17. Переменная с нижним подчеркиванием
  18. Подсчет элементов с помощью Counter
  19. Отладка регулярных выражений в Python
  20. Многострочные строки в Python
  21. Игра Виселица на Python
  22. Подсчет вхождений элементов
  23. Проектирование Singleton с метаклассом
  24. Переопределение метода __floordiv__
  25. Обработка исключений в Python
  26. Переопределение метода xor в Python
  27. Функция map() в Python
  28. Оператор del в Python
  29. Python Ellipsis использование
  30. Измерение времени выполнения кода в Python
  31. Удаление дубликатов с помощью множеств
  32. Метод Enumerate() для списков
  33. Метод count в Python: почему count(», ») возвращает 4?
  34. Инициализация объекта
  35. Обработка аргументов Python
  36. Регулярные выражения в Python
  37. Работа с изображениями Pillow
  38. Метод join() для объединения строк
  39. Многострочные комментарии в Python
  40. Вычисление логарифмов в Python
  41. ChainMap избыточные ключи
  42. Поиск HTML-элементов с BeautifulSoup
  43. Оптимизация памяти в Python
  44. Python Enumerate
  45. Векторизация в Python с NumPy.
  46. Вакансии в Nebius

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