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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Гуглим с помощью Python

Установка необходимых пакетов — pip install beautifulsoup4 и pip install google.

В нашем примере мы задаем в поиске слово "Python" и получаем ссылки на 3 самых популярных по мнению Google сайтов о Python.
#код
👍14🤯31
Приходилось ли вам переходить на более младшую позицию в другую компанию? Например, с Senior на Middle при релокации.
#интерактив
👍7
Паттерн проектирования «Стратегия»

«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.

Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.
#код
👍221
Очередной #дайджест по Python:

🐍 Чтобы ускорить работу Numba и кода NumPy, нужно понять, как работают процессоры
Автор учит ускорять код вплоть до 25 раз по сравнению с первоначальной версией.

🐍 Метаданные как обезбол при миграции
Почему и зачем они пригодятся.

🐍 Строим пайплайн в sсikit-learn — пошаговое руководство
Как построить пайплайн в библиотеке scikit-learn на базе встроенных инструментов и сократить количество кода при преобразовании данных.

🐍Разработка RESTful API на Python с помощью HappyX

🐍 BI-аналитика на коленке: делаем веб-аналитику в DataLens
Автор делится рабочим опытом создания аналитики.
👍21
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤖 Generative AI: как ускорить разработку с помощью Github Copilot и Databricks English SDK

Давайте разберемся, что же могут помощники и SDK, а чего от них ожидать еще рано. Рассмотрим наиболее популярные решения от Github и Databricks: варианты использования и их ограничения. Также поговорим о перспективах профессии AI-инженера.

🔗 Читать статью
🔗 Зеркало
2
Преобразования текста в аудио с помощью Python

Для преобразования текста в аудио на Python можно использовать библиотеку gTTS (Google Text-to-Speech).

В данном примере мы используем текст "Привет!» на русском языке, создаем объект gTTS и сохраняем аудиофайл "hello.mp3". Затем мы воспроизводим аудиофайл с помощью утилиты mpg321.
#код
👍184
Как обучить миллионы моделей прогнозирования временными сериями

У автора статьи возникла задача еженедельно сделать прогноз на 2-8 недель по паре миллионов временных серий. Причем не просто прогноз, а с кроссвалидацией и выбором наиболее оптимальной модели (ARIMA, нейронная сеть, и т.п.).

Имелось свыше терабайта исходных данных и достаточно сложные алгоритмы трансформации и чистки данных. Чтобы не гонять большие массивы данных по сети, решено было реализовать прототип на одном сервере.

Читать статью
5
Как выполняется обработка исключений в Python?

Для обработки исключений Python предоставляет конструкцию из трех слов: try, except и finally.

Синтаксис выглядит примерно так:
try:
# попробовать сделать это
except:
# если блок try не сработал, попробовать это
finally:
# всегда делать это

На картинке представлен упрощенный пример такой конструкции. Здесь блок try терпит неудачу, поскольку мы не можем складывать целые числа со строками. Блок except устанавливает val = 10, а затем блок finally выводит complete.
#вопросы_с_собеседований
👍10
Что выведет код?
Anonymous Quiz
28%
0
37%
1
18%
Error
17%
Узнать ответ
👍19🤔7
Расстояние Левенштейна

Расстояние Левенштейна (также известное как редакционное расстояние или расстояние редактирования) в программировании представляет собой метрику, которая измеряет различие между двумя строками в терминах минимального количества редакционных операций (вставок, удалений и замен символов), необходимых для преобразования одной строки в другую.

На практике расстояние Левенштейна может быть использовано для оценки схожести или различия между строками, например, для определения степени схожести в поиске похожих слов, исправления опечаток или сравнения генетических последовательностей.
#код
🔥286👍3🤯2
💬🦙 LlamaIndex: создаем чат-бота без боли и страданий. Часть 2

Продолжаем изучать фреймворк для создания AI-ботов. В этой части узнаем про тонкости индексирования собственной базы документов.

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

🐍 Профилирование Python — почему и где тормозит ваш код
Почему скрипт работает так медленно? Какая его часть тормозит? Дело в чтении данных, их обработке или сохранении? Как ускорить исполнение? Действительно ли скрипт вообще медленный? Ответить на все эти вопросы поможет инструмент под названием «профилировщик» (profiler).

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

🐍 Разбираемся в «базовых» алгоритмах для высоконагруженного проекта
Автор собрал примерный список алгоритмов, которые использует в работе с высоконагруженным проектом с большой кодовой базой.

🐍Использование конечных автоматов с несколькими активными состояниями для автоматизации бизнес-процессов
Необычная статья про слияние теории ведения бизнеса и программирования.

🐍 JSON и XML для новичков
Практическое введение в тему.
👍124
Через 10 минут начинаем эфир «Собеседование на разработчика: разбор задач и ошибок»

👉 Подключайтесьhttps://youtube.com/live/DT2UpJY2rlE?feature=share

Спикер: Алексей Бочкарев | Engineering Manager at FAANG

Что будем обсуждать:

– Комбинаторика и комбинаторные числа: определение и практические примеры

– Основные идеи динамического программирования

– Идеи рекурсии и примеры, включая inorder обход двоичного дерева

– Графы и способы их представления

– Примеры различных типов асимптотической сложности

– Распространенные ошибки в коде, как избегать обращения за границы массива, разыменования нулевого указателя, некорректная логика

🙌🏻 Запись будет опубликована здесь, подписывайтесь – https://t.iss.one/proglib_academy
6👍1
Любите ли вы писать тесты? Или считаете эту работу слишком скучной и бесполезной?
#интерактив
6
Изменяем цвет текста в терминале

Colorama — это библиотека для языка программирования Python, которая позволяет использовать ANSI-последовательности для вывода цветного текста в терминале на разных платформах.

Кроме того, можно использовать константы из модуля Style для установки стиля текста (например, жирный или подчеркнутый) и константы из модуля Back для установки цвета фона.

Например, чтобы вывести зеленый текст с помощью Colorama, можно использовать код, приведенный выше.
В этом примере init используется для инициализации библиотеки и обеспечения работы ANSI-последовательностей на Windows, а константа Fore для установки цвета текста.
#код
👍218🔥1😁1
Принципы работы и механизм reference counting?

reference counting (подсчёт ссылок) является одним из методов автоматического управления памятью.
Принцип работы reference counting в Python следующий:

— Каждый объект имеет счетчик ссылок (reference count), который отслеживает количество ссылок на данный объект. Счетчик ссылок инициализируется значением 1 при создании объекта.
— Когда переменная ссылается на объект, счетчик ссылок этого объекта увеличивается на 1.
— Если ссылка на объект удаляется или переназначается, счетчик ссылок уменьшается на 1.
— Когда счетчик ссылок объекта становится равным нулю, он может быть безопасно освобожден из памяти. При этом вызывается деструктор объекта (если он определен).

Reference counting работает быстро, однако, у него есть ограничения, особенно в случае циклических ссылок — когда несколько объектов ссылаются друг на друга и не имеют других активных ссылок. В этом случае, счетчики ссылок таких объектов никогда не достигают нуля, и они не могут быть освобождены с помощью механизма reference counting.
12👍7
🧮 Большие языковые модели: стоит ли бояться больших калькуляторов?

Разберём, можно ли считать большие языковые модели разумными (и почему ответ — нет).

Читать статью
12
Отрицательные индексы

В Python можно использовать отрицательные индексы для обращения к элементам последовательностей (например, строк, списков, кортежей) с конца. Положительные индексы начинаются с 0 для первого элемента, 1 для второго и так далее. Отрицательные индексы начинаются с -1 для последнего элемента, -2 для предпоследнего и так далее.

Использование отрицательных индексов удобно, когда вам нужно обратиться к элементам с конца последовательности без явного вычисления длины.
#код
17👍14🤯1
Часто ли вы прибегаете к помощи нейросетей в работе?
#интерактив
10👍3