Библиотека питониста | Python, Django, Flask
40.3K subscribers
2.81K photos
79 videos
51 files
4.4K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤖📄 ChatGPT: эффективная суммаризация с помощью LLM

В этой статье разберём суммаризацию с помощью LLM на примере обработки отзывов в e-commerce.

🔗Читать статью
🔗Зеркало
👍2
Можно ли создать словарь с упорядоченным набором ключей в Python ниже 3.7?

Начиная с версии Python 3.7, порядок вставки ключей сохраняется, и вы можете создать словарь с упорядоченным набором ключей.
Чтобы создать такой словарь на версиях ниже чем 3.7, вы можете использовать collections.OrderedDict.

collections.OrderedDict сохраняет порядок добавления элементов, а также предоставляет два дополнительных метода:
— .popitem() удаляет элемент с начала или конца OrderedDict;
— .move_to_end() перемещает элемент в начало или конец OrderedDict.
#вопросы_с_собеседований
👍104
mix-in

mix-in — это паттерн проектирования в ООП, когда в цепочку наследования добавляется небольшой класс-помощник. Основная идея mix-in заключается в том, что можно создать класс с определенным функционалом и потом использовать его методы в других классах. Таким образом, mix-in — это способ расширения функциональности классов без явного наследования.

В этом примере мы создали класс Mixin, который содержит метод mixin_method. Затем мы создали класс MyClass, который наследуется от Mixin и содержит свой метод my_method. Объект obj создан на основе класса MyClass и вызывает метод mixin_method, который определен в Mixin.
#код
👍252
Библиотека питониста | Python, Django, Flask pinned «Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех Библиотека программиста — новости, статьи, досуг, фундаментальные темы Книги для программистов IT-мемы ☕️Java Библиотека джависта — полезные статьи…»
Фильтры в Django: filter(A, B) vsfilter(A).filter(B)

Расширенное погружение в Django ORM, как он обрабатывает соединения и что это значит для вашего кода.

Читать статью
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💬🦙 LlamaIndex: создаем чат-бота без боли и страданий. Часть 3

Завершаем исследование фреймворка LlamaIndex. В этой части разбираемся с ретриверами, которые обеспечивают различные способы извлечения релевантного контекста из индексов документов.

🔗 Читать статью
🔗 Зеркало
👍6
Очередной #дайджест по Python:

🐍 Построение распределенной системы очередей сообщений с RabbitMQ и Python
Распределенные системы — это важная составляющая современных вычислений. Они позволяют нам создавать приложения и сервисы, способные обрабатывать огромные объемы данных, обеспечивать высокую доступность и масштабируемость.

🐍 SymPy и симуляция физических процессов
Физические процессы окружают нас повсюду, и понимание их характеристик и поведения имеет огромное значение в различных областях науки и инженерии.

🐍 Reinforcement learning для оптимизации цен в ритейле
Динамическое ценообразование является современным подходом к ценообразованию в ритейле. Оно напрямую связано с моделированием спроса, что позволяет проводить оптимизацию цен на будущий период.

🐍 Python в помощь инженеру ПТО
В статье приведены некоторые скриптоы на Python для решения вопросов, с которыми иногда пересекается инженер ПТО строительной организации.
5👍4
Какой фреймворк для работы изучали последний раз?
#интерактив
👍4
Bottleneck

Bottleneck — это библиотека, которая ускоряет работу методов NumPy в 25 раз. Особенно, если массив имеет значения NaN.

В этом примере мы создаём 2D массив NumPy с 1000 строками и 10 столбцами со случайными значениями.

Далее функция move_mean используется для вычисления скользящего среднего для каждой строки в массиве. Параметр window указывает количество значений, которые будут использоваться при вычислении каждого скользящего среднего, а параметр axis указывает ось, вдоль которой будет вычисляться скользящее среднее (в данном случае мы вычисляем его для каждой строки, поэтому устанавливаем axis=1).
#код
👍122🥰1
Что делать, если нужно сериализовать данные, которые не поддерживаются стандартным модулем json?

Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:

— Реализовать методы __getattr__ и __setattr__ в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.

— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.

— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.

— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.

— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).

— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.
#вопросы_с_собеседований
👍10
Eli5

Библиотека eli5 используется для анализа и интерпретации результатов моделей машинного обучения. Она работает с такими библиотеками, как: Scikit-learn, XGBoost, CatBoost, Keras, lightning и LightGBM.

В этом примере мы загружаем датасет Бостон из библиотеки sklearn, разбиваем его на обучающую и тестовую выборки и строим модель линейной регрессии.
Затем мы используем функцию show_weights из библиотеки eli5 для отображения весов линейной регрессии.

eli5 может помочь понять, какие признаки важны для модели и как они влияют на предсказания. Это может быть полезно для улучшения качества моделей и для объяснения их работы другим людям.
#код
👍81
Визуализация процесса релиза CPython

В этом сообщении блога рассказывается, как работает процесс выпуска CPython, и содержится диаграмма, документирующая каждый шаг. Также выявляются точки угроз в цепочке поставок.

Читать статью
👍121
Что вы считаете самой большой своей неудачей за всю карьеру?
#интерактив
Emot

Библиотека Emot предназначена для распознавания эмодзи в тексте.

Она может очень пригодиться, когда нам нужно предварительно обработать текстовые данные, чтобы удалить эмотиконы и эмодзи или изучить их влияние на семантику. Функции библиотеки принимают на вход строку и возвращают список словарей.
#код
👍16
Очередной #дайджест по Python:

🐍 Python + PIL + Pyrogram = Кастомные эмодзи для Telegram
Как из обычного шрифта, сделать уникальный набор эмозди и добавить его в телеграм.

🐍 S.T.A.R.K. — первый фреймворк для создания голосового ассистента
Если вы когда-либо мечтали создать голосового ассистента, который будет современным, продвинутым и невероятно интуитивным, S.T.A.R.K. — лучшее решение.

🐍 Пишем компилятор C в 500 строках Python
асколько сложна эта задача? Оказалось, что довольно сложна, даже после отказа от достаточно большого количества возможностей.

🐍 Как мы версию Sanic’а повышали
Автор делится интересным опытом мажорного повышения зависимостей в проекте, который свыше пяти лет находится в проде под ежедневной нагрузкой более 2000 RPS.
👍3
Геттеры и сеттеры

Геттеры и сеттеры — это специальные методы класса, которые используются для управляемого доступа к атрибутам объекта. Они позволяют инкапсулировать реализацию класса и предоставить проверенный интерфейс для манипуляции данными.

— Геттер позволяет получить значение атрибута.
— Сеттер используется для установки значения атрибута.

Преимущества геттеров и сеттеров:

— Контроль доступа к атрибутам класса.
— Валидация данных.
— Возможность добавить дополнительную логику при установке/получении значений.
#код
👍22😁4🤔3
Операторы in и not: проверка членства

В статье описано, как проверить, присутствует или отсутствует заданное значение в коллекции значений, используя операторы Python in и not in соответственно. Этот тип проверки известен в Python как тест на принадлежность.

Читать статью
👍4
optional_return

Функция optional_return в модуле typing используется для определения функций, которые могут возвращать значение или None.
Это позволяет лучше документировать поведение функции и дает подсказки при использовании ее результата, не опасаясь ошибки, если будет возвращен None.

В данном примере функция find_user может вернуть имя пользователя, если оно найдено в списке, или None, если такого имени нет. Благодаря аннотации Optional[str] мы явно указываем, что возвращаемое значение может быть строкой или None.
#код
👍15🔥2
что такое DjangoRESTFramework и для чего используется?

Django REST Framework (DRF) — это популярный toolkit для создания REST API на Python с использованием фреймворка Django.

DRF широко используется для создания REST API среднего и крупного масштаба, которые нуждаются в гибкости, производительности и удобном интерфейсе для клиентов.

Среди основных преимуществ DRF:

— Поддерживает форматы
запросов и ответов: JSON, YAML, Browsable API.
— Интегрируется с основными БД и позволяет быстро создавать сложные запросы.
— Автоматически генерирует интерактивную документацию для API в формате Swagger/OpenAPI.
#вопросы_с_собеседований
👍18🔥1
«Библиотека программиста» запустила два новых канала для Python-разработчиков и тех, кто хочет ими стать👨‍🏫

В них мы:
🔸тренируемся на практических задачах
🔸отвечаем на популярные вопросы с собеседований
🔸проверяем свои знания

Подписывайтесь:
👉Библиотека собеса по Python — тут мы готовимся к интервью
👉Библиотека задач по Python — тут решаем задачи, проходим тесты и изучаем код
👍6🔥3