Библиотека питониста | Python, Django, Flask
40.2K subscribers
2.83K 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
Что выведет код?
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
Распаковка кортежа

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

Распаковка кортежей может быть полезным при работе с функциями, возвращающими несколько значений, а также для обмена значениями переменных без необходимости использовать дополнительные временные переменные.
#код
16👍11
- 35% на все курсы Proglib Academy

Дада, распродажа не просто так стартует в день знаний😉

🌟 Математика для Data Science19 490 рублей 29 990 рублей

🌟 Алгоритмы и структуры данных23 390 рублей 35 990 рублей

Переходите, активируйте пробную версию и начинайте учиться уже сейчас!

🔥 А еще вы можете активировать бесплатную демо-версию любого курсаhttps://proglib.io/w/e68e7e0b

А также посмотреть вебинары на интересующие вас темы 🙌🏻
12🔥1
Очередной #дайджест по Python:

🐍 Создание DSL на основе Python
Как с помощью Python можно создать свой собственный язык программирования.

🐍Генерация паспортных данных для обучения моделей
При разработке «распознавателя» паспортов без достаточного количества реальных образцов возникла необходимость генерации паспортных данных и соответствующих им изображений отдельных полей (серия/номер, дата выдачи паспорта и т.д).

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

🐍 Классификация грибов методами ML
Автор рассказывает о том, о том, как обучал различные модели машинного обучения отличать съедобные грибы от несъедобных, с какими сложностями столкнулся в процессе и какие интересные наблюдения про грибы и ML открыл по пути.
15👍8🔥1
Тернарный оператор

Тернарный оператор — это синтаксическая конструкция в Python, которая позволяет вам создавать более компактные условные выражения.

Тернарный оператор может быть удобным способом заменить простые if-else выражения, когда вам нужно быстро присвоить значение в зависимости от условия. Однако следует помнить, что слишком сложные выражения в тернарной форме могут ухудшить читаемость кода, поэтому стоит использовать их с умом.
#код
👍331
Создайте генератор изображений кода с помощью Python

С помощью генератора изображений кода вы можете создать красивое изображение фрагментов кода. Таким образом, вы можете делиться кодом, не беспокоясь о форматировании, различной подсветке синтаксиса или ограничениях на количество символов.

Читать статью
👍2
Set comprehension

Set comprehension — это способ создания множества в языке программирования Python с использованием синтаксиса генератора. Он позволяет вам создать множество, применяя выражение к каждому элементу последовательности (например, списку или строки) и автоматически устраняя повторяющиеся значения.
#код
👍301
Что выведет программа?

Ответ:
Кажется, ничего сложного. create_multipliers вернёт список из 5 функций (назовём их list_lamba_f). Каждая list_lamba_f будет умножать свой аргумент на свой индекс в результирующем массиве.

Получается, что на экране мы увидим:

0
2
4
6
8

Дальнейший разбор предполагает, что вам знакомо замыкание (closure) при использовании вложенных функций (nested functions).

Свои коррективы в наивное объяснение выше вносит позднее связывание. Согласно ему, значение переменной из замыкания (это переменная i) вычисляется в тот момент, когда вызывается внутренняя функция (наши list_lamba_f).

Получается, что значение i в list_lamba_f вычисляется в момент вызова multiplier(2) в пятой строчке. Но в этот момент create_multipliers уже отработала целиком. и значение i — это 4. То есть для всех list_lamba_f значение i равно 4.

Итак, ответ:

8
8
8
8
8.
#вопросы_с_собеседований
👍20🔥3
Рисуем карту столицы Австралии

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

В нашем примере мы рисуем карту Канберры — столицы Австралии.
#код
👍13