и посмотреть медиа
Ciencia de los datos - entrevistas
и посмотреть медиа
Entrevistas de Data Science.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Preguntas de entrevista sobre ciencia de datos.
🤔 Как работает память в питоне? Работа с памятью в Python основывается на управлении объектами, сборке мусора и использовании кучи (heap) для динамического распределения памяти. 🚩Концепции управления памятью 🟠Объекты и их управление В Python все является объектом, включая числа, строки, функции и классы. Каждый объект состоит из двух частей: заголовка и данных. Заголовок включает тип объекта и счетчик ссылок, а данные содержат значение объекта. 🟠Куча (Heap) Все объекты в Python хранятся в куче, которая управляется интерпретатором. Куча используется для динамического распределения памяти, что позволяет эффективно управлять памятью. 🟠Счетчик ссылок Python использует счетчик ссылок для отслеживания, сколько раз объект используется в программе. Счетчик ссылок увеличивается при создании новой ссылки на объект и уменьшается при удалении ссылки. Когда счетчик ссылок объекта становится равным нулю, объект считается неиспользуемым и подлежит удалению. 🟠Сборка мусора (Garbage Collection) Python использует механизм сборки мусора для удаления неиспользуемых объектов и освобождения памяти. Основной алгоритм сборки мусора основан на циклическом сборе (cyclic garbage collection), который позволяет находить и удалять циклические ссылки (объекты, которые ссылаются друг на друга). 🚩Как работает 🟠Счетчик ссылок Когда объект создается, его счетчик ссылок устанавливается в 1. При создании новой ссылки на объект счетчик увеличивается на 1, при удалении ссылки — уменьшается на 1. Когда счетчик ссылок становится равным нулю, объект удаляется, а память освобождается. 🟠Циклический сборщик мусора Основной сборщик мусора Python способен обнаруживать циклические ссылки, которые невозможно удалить с помощью простого счетчика ссылок. Сборщик мусора периодически просматривает объекты и их ссылки, чтобы найти циклы и удалить неиспользуемые объекты. import sys # Создание объекта и проверка счетчика ссылок a = [1, 2, 3] print(sys.getrefcount(a)) # Обычно возвращает 2, так как есть ссылка a и временная ссылка для вызова функции # Увеличение счетчика ссылок b = a print(sys.getrefcount(a)) # Теперь возвращает 3, так как есть ссылки a, b и временная ссылка для вызова функции # Уменьшение счетчика ссылок del b print(sys.getrefcount(a)) # Теперь возвращает 2, так как ссылка b удалена # Сборка мусора import gc # Принудительный запуск сборщика мусора gc.collect() Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!