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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Сокращение ссылок с pyshorteners
  2. Метод radd для пользовательских чисел
  3. Наследование в программировании
  4. Работа со слайсами
  5. Магические методы в Python
  6. Операции с массивами в NumPy
  7. Сериализация данных в JSON с помощью json.dumps
  8. Удаление дубликатов из списка с помощью dict.fromkeys
  9. Замер времени выполнения кода
  10. Декораторы с @wraps
  11. Измерение времени выполнения кода
  12. Перегрузка операторов в Python
  13. Распаковка аргументов в Python
  14. Поиск простых чисел
  15. Python: отличительная особенность — отступы
  16. Анонимные функции в Python
  17. Генерация случайных чисел в Python
  18. Декораторы в Python
  19. Лямбда-функции в Python
  20. Проверка списка: any() и all()
  21. Обработка ошибок ввода данных
  22. Модуль itertools: комбинации и перестановки
  23. Оператор is в Python
  24. Удаление символов новой строки в Python.
  25. Оптимизация интернирования строк
  26. Округление банкира в Python
  27. Обработка исключений
  28. Работа со списками
  29. Оператор объединения словарей
  30. Изучение объектов с помощью dir()
  31. Создание матрицы в Python
  32. Оператор «not» в Python
  33. Удаление дубликатов с помощью множеств
  34. Создание инструмента обнаружения плагиата
  35. Округление чисел с помощью round
  36. Метод ifloordiv для пользовательских классов
  37. Модуль Antigravity в Python 3
  38. Сохранение Unicode в JSON
  39. Сортировка элементов с OrderedDict
  40. Генератор данных в Keras
  41. Удаление эмодзи с помощью pandas
  42. Функция enumerate() в Python
  43. Закрытие файла в Python
  44. Python Метод sleep() времени
  45. Вызов внешних программ в Python с помощью sh

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