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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Применение функции к списку
  2. Функция __init__ в Python
  3. Очистка данных в Python
  4. Defaultdict в Python
  5. Возврат нескольких значений из функции
  6. Запуск Python из интерпретатора
  7. Изменение регистра данных
  8. Создание уникального проекта
  9. Управление IP-адресами через прокси
  10. Автоматизация с Python
  11. Фильтрация элементов с помощью islice
  12. Удаление файлов и папок в Python
  13. Применение команды break
  14. Установка и использование модуля Wikipedia
  15. Создание новых списков в Python
  16. Операторы сравнения в Python
  17. Отслеживание прогресса с tqdm
  18. Удаление ссылок в Python
  19. Копирование объектов в Python
  20. JSON в Python: модуль, dump, dumps, load
  21. Обработка исключений
  22. Присоединение элементов коллекции
  23. Печать в одной строке
  24. Функция reduce() в Python
  25. Анализ кода — Python
  26. Тест скорости набора текста на Python
  27. Работа с zip-архивами в Python
  28. Работа с YAML в Python
  29. Генерация чисел с range()
  30. split() — разделение строки
  31. Сортировка и обратный порядок
  32. Функция enumerate в Python
  33. Перезагрузка оператора в Python
  34. Сортировка HTML-элементов
  35. Генераторы в Python
  36. Функции map, filter, reduce
  37. Сравнение строк в Python
  38. Оператор in и not in в Python
  39. Объединение строк с помощью метода join
  40. Работа с переменными в Python
  41. Управление пакетами с pip
  42. Многострочные строки в Python
  43. Использование *args
  44. Определение основы слова с showballstemmer
  45. Генерация QR-кодов с библиотекой qrcode
  46. Измерение времени выполнения кода
  47. Выборка чисел
  48. Работа с CSV файлами в Python
  49. Работа с функцией next() в Python

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