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

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

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

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


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

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

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

Автор урока

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

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

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

  1. Установка и использование pyshorteners
  2. Метод join() для объединения строк
  3. Изменение элемента списка
  4. Подписка на каналы разработчиков
  5. Отладка производительности Python
  6. Проверка запуска скрипта или импорта модуля
  7. Импорт модулей в Python 3.12
  8. Python Тесты и Гайды
  9. Python: отсутствие точек с запятыми
  10. Форматирование строк в Python
  11. Перетасовка списков в Python
  12. Объединение списков в Python
  13. Работа со словарями с defaultdict из collections
  14. Использование super() в Python
  15. Работа с аргументами командной строки в Python
  16. Работа с модулем Calendar
  17. Быстрый поиск кода
  18. Оператор «моржа» (Walrus Operator)
  19. Сериализация объектов в Python
  20. Методы shutil для работы с файлами
  21. Генераторы в Python
  22. Python OrderedDict и fromkeys() — работа с словарями
  23. Создание списков в Python
  24. Структурирование именованных констант
  25. Форматирование строк в Python
  26. Метод ipow для возведения в степень
  27. Преобразование чисел в слова
  28. Выход из профиля в Django
  29. Функции в Python: создание и вызов
  30. Деление в Python
  31. Magic Commands — улучшение работы с Python
  32. EMOT преобразование эмодзи в текст
  33. Атрибуты массивов в Numpy
  34. Логический оператор «and» в Python
  35. Модуль functools в Python
  36. Официальный канал Python в Telegram
  37. Поиск индекса элемента в списке
  38. Генераторы в Python
  39. Работа с PosixPath() в Python
  40. Раздувающийся словарь в Python
  41. Работа с изображениями Pillow
  42. Удаление элементов по срезу
  43. Функция eval() в Python
  44. Перевод текста с Python Translator
  45. Извлечение новостей с помощью newspaper3k
  46. Работа со стеком в Python
  47. Множества и frozenset
  48. Функция zip() в Python

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