🤖 Как работают менеджеры контекста в Python, и в каких случаях их полезно использовать?
Менеджеры контекста используются для управления ресурсами, такими как файлы, сетевые подключения или блокировки, с автоматическим освобождением этих ресурсов по завершении работы. Основное их применение — в тех случаях, когда требуется гарантированное освобождение ресурсов, даже в случае возникновения ошибок. Менеджеры контекста создаются с помощью ключевого слова with, которое автоматически вызывает методы __enter__ и __exit__ у объекта.
Пример использования ⚙️
Менеджеры контекста используются для управления ресурсами, такими как файлы, сетевые подключения или блокировки, с автоматическим освобождением этих ресурсов по завершении работы. Основное их применение — в тех случаях, когда требуется гарантированное освобождение ресурсов, даже в случае возникновения ошибок. Менеджеры контекста создаются с помощью ключевого слова with, которое автоматически вызывает методы __enter__ и __exit__ у объекта.
Пример использования ⚙️
# Пример менеджера контекста для работы с файлами
with open('example.txt', 'w') as file:
file.write('Hello, world!')
# Файл автоматически закроется после выхода из блока 'with', даже если возникнет ошибка
Forwarded from Proglib.academy | IT-курсы
Мы разберем, почему компании, которые массово увольняют разработчиков в пользу ИИ, рискуют остаться у разбитого корыта. Сгенерированный код не умеет исправлять баги, а инженеры, которые действительно понимают систему, становятся редкостью и роскошью.
▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.
▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.
▪️ Почему опытные разработчики станут супердорогими и востребованными.
▪️ К чему приведет полная ставка на искусственный интеллект в IT.
🔗 Читайте статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Основы математики в Machine Learning / Deep Learning
🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML.
(ссылка)
🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
😮 На вебинаре вы узнаете:
🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию.
🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения.
🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора.
🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning.
🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/1957f6af
🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML.
(ссылка)
🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
😮 На вебинаре вы узнаете:
🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию.
🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения.
🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора.
🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning.
🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/1957f6af
✍️ Как функционирует метод __new__() в Python?
Метод __new__() отвечает за создание нового экземпляра класса, выделяя для него память. Он вызывается перед методом __init__(), который занимается инициализацией уже созданного экземпляра. Это особенно важно при работе с неизменяемыми типами, такими как str или int, а также в ситуациях, когда необходимо контролировать процесс создания объекта, например, при использовании паттерна Singleton.
Метод __new__() отвечает за создание нового экземпляра класса, выделяя для него память. Он вызывается перед методом __init__(), который занимается инициализацией уже созданного экземпляра. Это особенно важно при работе с неизменяемыми типами, такими как str или int, а также в ситуациях, когда необходимо контролировать процесс создания объекта, например, при использовании паттерна Singleton.
Forwarded from Библиотека питониста | Python, Django, Flask
💾 10 способов работы с большими файлами в Python, о которых ты не знал
Годнота для всех, кто работает с данными. Статья раскрывает разные подходы к обработке больших файлов — от простых итераторов до распределенных вычислений.
👍 Сохраняй себе, точно пригодится в работе: https://proglib.io/sh/VOcgo7w0W1
Годнота для всех, кто работает с данными. Статья раскрывает разные подходы к обработке больших файлов — от простых итераторов до распределенных вычислений.
👍 Сохраняй себе, точно пригодится в работе: https://proglib.io/sh/VOcgo7w0W1
🐍 Что такое подгенератор (subgenerator)?
Подгенератор создается с использованием конструкции yield from внутри генератора.
Подгенераторы позволяют разделить генератор на несколько частей, что упрощает код и оптимизирует использование памяти. Это эффективный инструмент при работе с последовательностями.
Механизм обеспечивает передачу значений между генераторами без необходимости хранения всей последовательности в памяти, при этом основной генератор приостанавливается до тех пор, пока подгенератор не завершит свою работу.
Подгенератор создается с использованием конструкции yield from внутри генератора.
Подгенераторы позволяют разделить генератор на несколько частей, что упрощает код и оптимизирует использование памяти. Это эффективный инструмент при работе с последовательностями.
Механизм обеспечивает передачу значений между генераторами без необходимости хранения всей последовательности в памяти, при этом основной генератор приостанавливается до тех пор, пока подгенератор не завершит свою работу.
Как вы реализуете сериализатор для модели с полями Many-to-Many и динамическими свойствами в Django REST Framework?
Для реализации настраиваемой сериализации в Django REST Framework требуется:
1. Создание сериализатора для модели: Используйте serializers.ModelSerializer и определите сериализаторы для всех связанных моделей с Many-to-Many отношениями.
2. Динамические поля: Добавьте SerializerMethodField для обработки свойств, которые требуют динамического вычисления, и определите соответствующий метод.
3. Валидация: Добавьте методы валидации validate_ для проверки данных.
Этот подход обеспечивает гибкость и поддержание структуры кода при работе с сложными данными.
Для реализации настраиваемой сериализации в Django REST Framework требуется:
1. Создание сериализатора для модели: Используйте serializers.ModelSerializer и определите сериализаторы для всех связанных моделей с Many-to-Many отношениями.
2. Динамические поля: Добавьте SerializerMethodField для обработки свойств, которые требуют динамического вычисления, и определите соответствующий метод.
class BookSerializer(serializers.ModelSerializer):
authors = AuthorSerializer(many=True, read_only=True)
custom_field = serializers.SerializerMethodField()
class Meta:
model = Book
fields = ('title', 'authors', 'custom_field')
def get_custom_field(self, obj):
return custom_value_computation(obj)
3. Валидация: Добавьте методы валидации validate_ для проверки данных.
Этот подход обеспечивает гибкость и поддержание структуры кода при работе с сложными данными.
Forwarded from Proglib.academy | IT-курсы
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике
Статья, которая поможет развить навыки решения задач с помощью математики.
➡️ Вот что вас ждет
1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.
2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.
3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.
4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.
🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».
👉 Читать статью
Статья, которая поможет развить навыки решения задач с помощью математики.
👉 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Как функционируют дескрипторы в Python и когда их стоит применять?
Дескриптор представляет собой класс, в котором реализованы методы доступа: __get__, __set__ и/или __delete__. Они особенно полезны для создания управляемых атрибутов, таких как валидация данных или их кэширование.
Дескриптор представляет собой класс, в котором реализованы методы доступа: __get__, __set__ и/или __delete__. Они особенно полезны для создания управляемых атрибутов, таких как валидация данных или их кэширование.
👀 Как осуществляется обработка исключений в Python?
В Python для обработки исключений используется конструкция, состоящая из трех ключевых слов:try, except и finally .
Примерный синтаксис выглядит следующим образом:
try:
# попытаться выполнить это
except:
# если в блоке try возникла ошибка, выполнить это
finally:
# выполнить это в любом случае
На изображении показан упрощенный пример такой конструкции. В данном случае блокtry завершится с ошибкой, так как складывать целые числа со строками невозможно. Блок except присваивает переменной val значение 10, а затем блок finally выводит сообщение «complete».
Библиотека собеса по Python
В Python для обработки исключений используется конструкция, состоящая из трех ключевых слов:
Примерный синтаксис выглядит следующим образом:
# попытаться выполнить это
except:
# если в блоке try возникла ошибка, выполнить это
finally:
# выполнить это в любом случае
На изображении показан упрощенный пример такой конструкции. В данном случае блок
Библиотека собеса по Python
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🧠 Твоя БД скоро станет умнее тебя: 5 трендов open-source баз данных 2025
БД перестают быть просто хранилищем — теперь они оптимизируют запросы, автоматически анализируют данные и даже используют AI для прогнозов.
Какие фичи перевернут мир open-source БД в 2025? Узнайте в статье👇
🫢 Прочитать статью
🐸 Библиотека devops'a
БД перестают быть просто хранилищем — теперь они оптимизируют запросы, автоматически анализируют данные и даже используют AI для прогнозов.
Какие фичи перевернут мир open-source БД в 2025? Узнайте в статье👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🗑 В Python используется автоматическое управление памятью с помощью механизма
🚮 Кроме
Библиотека собеса по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Отобрали для вас полезные и проверенные каналы для программистов — в них вы найдете все самое интересное, от технических новостей до практических гайдов.
IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии
Библиотека программиста — новости из мира IT и технологий
Книги для программистов — самые годные книги по любым языкам и стекам
IT-мемы — мемы про жизу айтишника
Proglib Academy — обучение и курсы, чтобы стать топовым специалистом
Азбука айтишника — азы из мира разработки
Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ
Библиотека фронтендера — все о JS, React, Angular и не только
Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin
Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься
Библиотека тестировщика — самое интересное о том, как крашить код
🦫 Go
Библиотека Go-разработчика
Библиотека задач по Go
Библиотека Go для собеса
Вакансии по Go
#️⃣ C#
Библиотека шарписта
Библиотека задач по C#
Библиотека собеса по C#
Вакансии по C#
🔧 DevOps
Библиотека devops’а
Библиотека задач по DevOps
Библиотека собеса по DevOps
Вакансии по DevOps & SRE
🐘 PHP
Библиотека пхпшника
Библиотека задач по PHP
Библиотека PHP для собеса
Вакансии по PHP, Symfony, Laravel
🐍 Python
Библиотека питониста
Библиотека Python для собеса
Библиотека задач по Python
Вакансии по питону, Django, Flask
☕️ Java
Библиотека джависта
Библиотека задач по Java
Библиотека Java для собеса
Вакансии по Java
📊 Data Science
Библиотека дата-сайентиста
Библиотека задач по Data Science
Библиотека Data Science для собеса
Вакансии по Data Science
🎮 C++
Библиотека C/C++ разработчика
Библиотека задач по C++
Библиотека C++ для собеса
Вакансии по C++
Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Proglib.academy | IT-курсы
Можно ли стать разработчиком, если в школе ненавидел математику? А если наоборот — тащился от алгебры и геометрии, но кодить не умеешь? Эта статья раскладывает всё по полочкам: где без математики никуда, а где можно и без неё.
✓ Почему все считают, что программисты — математики
✓ В каких сферах разработки можно вообще не знать математику
✓ Где хватит готовых библиотек, а где придётся разбираться в формулах
✓ Какие области программирования требуют мощного математического бэкграунда
✓ Что делать, если математика — это боль, но хочется освоить ML или Data Science
✓ Топ книг, которые помогут понять и даже полюбить математику
Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
Что значит конструкция pass?
В Python pass является пустым оператором. Он используется там, где синтаксически требуется оператор, но никаких действий выполнять не нужно. Например, это может быть полезно при написании заглушки функции, которая будет реализована позже, или в цикле, который ничего не должен делать на данной итерации.
В Python pass является пустым оператором. Он используется там, где синтаксически требуется оператор, но никаких действий выполнять не нужно. Например, это может быть полезно при написании заглушки функции, которая будет реализована позже, или в цикле, который ничего не должен делать на данной итерации.
✍🏻 Чем файл .pyc отличается от файла .py?
Хотя оба файла содержат байт-код, .pyc — это скомпилированная версия файла Python . Он имеет независимый от платформы байт-код.
Следовательно, мы можем выполнить его на любой платформе, поддерживающей формат .pyc.
Python автоматически генерирует его для повышения производительности (с точки зрения времени загрузки, а не скорости).
Библиотека собеса по Python
Следовательно, мы можем выполнить его на любой платформе, поддерживающей формат .pyc.
Python автоматически генерирует его для повышения производительности (с точки зрения времени загрузки, а не скорости).
Библиотека собеса по Python
Что такое pickling и unpickling?
Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling.
Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.
Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling.
Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.