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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Работа с GitHub в Telegram
  2. Методы list в Python
  3. Использование defaultdict в Python
  4. Извлечение чисел из текста
  5. Проблемы с dict в Python
  6. Конвертация текстовых чисел с помощью Numerizer
  7. Обезопасьте ввод данных
  8. Операции с матрицами в Python
  9. Сортировка с помощью key
  10. Python reversed() функция
  11. Импорт объектов из модулей
  12. Аргументы *args и **kwargs
  13. Хранение переменных в словаре.
  14. Отправка HTTP-запросов с User-Agent
  15. Лямбда-функции в Python
  16. Переопределение метода sub
  17. Условные выражения в Python
  18. Проверка дублей в списке.
  19. Оператор «not» в Python
  20. Перебор элементов списка в Python
  21. Настройка нарезки списков
  22. Декораторы в Python
  23. Установка и использование модуля «howdoi»
  24. Подсчет элементов в Python
  25. Оператор деления для класса Rational
  26. Управление браузером с Selenium
  27. Поиск шаблона в начале строки
  28. Работа с географическими данными в Python
  29. Переворот последовательности
  30. Создание namedtuple списком полей
  31. Статическая типизация в Python
  32. Декораторы с аргументами в Python
  33. Управление контекстом выполнения кода
  34. Списковое включение в Python
  35. Ограничение ресурсов в Python
  36. Управление виртуальными окружениями в Python
  37. Метод ior для битовых операций
  38. Переворот списка в Python
  39. Создание тестовых данных с Faker
  40. Установка и использование howdoi
  41. Функция enumerate() — Python
  42. Получение комбинаций в Python
  43. Запуск внешних программ с subprocess
  44. Множества и frozenset
  45. Подсчет элементов в Python
  46. Работа с итераторами в Python
  47. Разница между датами

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