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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Сколько лет опыта по вашему должен иметь синьор?
#интерактив
2👍1
Дано целое число, преобразовать его в римскую цифру.

В этом решении мы создаем метод intToRoman, который принимает целое число в качестве аргумента и возвращает его римское представление в виде строки.

Метод использует жадный алгоритм для поиска наибольшего римского числа, которое может быть вычтено из входного числа. Затем он вычитает это число и добавляет соответствующее римское число к результату.
Этот процесс повторяется до тех пор, пока входное число не станет равным нулю.
#код
🔥27👏5👍21🎉1
Очередной #дайджест по Python:

🐍 DVC — прекрасный инструмент для Data Science
Инструмент, который многие, незаслуженно, обходят стороной.

🐍 Кто отвечает за развитие Python
Начиная с версии 3.8 за будущее Python отвечает руководящий совет в составе нескольких известных разработчиков.

🐍 Архитектура высоконагруженных телеграм-ботов на Python
В условиях высокой нагрузки, когда ботом начинают пользоваться тысячи и даже миллионы пользователей, стандартные решения становятся недостаточными.

🐍 Моделирование биологических явлений с помощью Python
Моделирование биологических явлений позволяет нам лучше понимать и прогнозировать поведение живых систем, начиная от популяционных динамик до молекулярных взаимодействий.
LineaPy

LineaPy — это библиотека для работы с временными рядами и анализа временных данных.

Эта библиотека позволяет быстро решать типовые задачи анализа временных рядов без необходимости "изобретать велосипед".
Она удобна для анализа временных данных в задачах прогнозирования, мониторинга, выявления сезонности, трендов и аномалий. Имеет интуитивный API и хорошую документацию.

В этом примере мы получили прогнозные значения временного ряда на 5 периодов вперед с помощью модели ARIMA из LineaPy за считанные строки кода.
#код
👍9👏21
Создавайте красивые QR-коды с помощью Python

В статье описано, как использовать Python для генерации QR-кодов: от стандартных черно-белых QR-кодов до красивых QR-кодов ваших любимых цветов.

Читать статью
🔥16👍2
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