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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
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
🔎💼🗺️ Как программисту искать (и найти) работу за границей в 2023 году

Разбираемся: где искать работу за рубежом, как и где откликаться на вакансии, плюс несколько лайфхаков по составлению резюме.

Читать статью

#поискработы
🔥3🤯2
Метод join

Метод join() позволяет объединить элементы последовательности (списка, кортежа и т.д.) в строку.

Основные моменты:

— Метод принадлежит строке, вызывается на разделителе.
— В качестве разделителя можно использовать любую строку.
— В результате получится строка, где между элементами последовательности вставлен разделитель.
#код
👍273🔥2
Создаем графики в терминале

Bashplotlib — это библиотека Python и инструмент командной строки для создания базовых графиков в терминале. Это быстрый способ визуализации данных, когда у вас нет GUI. Она написана на чистом Python и может быть быстро установлена в любом месте с помощью pip.

Например, вы можете использовать Bashplotlib для создания гистограммы из массива данных. В этом примере функция plot_hist используется для отображения данных на одномерной гистограмме.
#код
👍112🎉1
Очередной #дайджест по Python:

🐍 Оптимизация работы с Camunda на основе External task
Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяют выполнять описанные процессы.

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

🐍 Как сделать вашего телеграм-бота лучше? Конечно, добавить ему аналитику
Успешное использование телеграм-ботов требует не только технической грамотности, но и понимания того, как пользователи взаимодействуют с вашим ботом и как можно улучшить этот процесс.

🐍 Перелом в судьбе змеи: как Python менял версию с 2 на 3
Даже сегодня есть люди, отказывающиеся прикасаться к нему после этого перехода. Но несмотря на все свои недостатки, ему каким-то образом удаётся быть успешным.
👍31
Python и Folium для визуализации занятий на свежем воздухе

Как вдохнуть жизнь в файлы GPX и создавать интерактивные карты с помощью Python и Folium.

Читать статью
👍6
На каком языке вы пишите сейчас и на какой хотели бы перейти?
#интерактив
👍5
Pygal

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

Этот код создает объект диаграммы line_chart, добавляет в нее несколько рядов данных, задает заголовок, подписи по оси X и сохраняет результат в файл SVG.

В итоге получается интерактивный график изменения доли браузеров за определенный период.
#код
👍11🔥21
Какие различия есть между методами для списков append() и extend()?

Методы append() и extend() для списков имеют разное назначение:

— append() добавляет один элемент в конец списка, принимая в качестве аргумента этот элемент.

my_list.append(10) — добавит число 10 в конец списка my_list.

— extend() расширяет список добавляя в него несколько элементов сразу. В качестве аргумента принимается итерируемый объект (список, кортеж и т.п.).

my_list.extend([10, 20, 30]) — добавит числа 10, 20, 30 в конец списка my_list.
#вопросы_с_собеседований
👍215
Напишите функцию, которая будет принимать два списка чисел (вложенный и обычный) и проверять, все ли числа в подсписках вложенного принадлежат множеству чисел второго, обычного списка

Примечания:
1) пустой список считаем валидным подмножеством множества чисел второго списка
2) в каждом отдельном списке (как во вложенных, так и во втором, обычном списке) числа будут уникальными
👍12🔥31
Global Interpreter Lock (GIL)

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

Он может быть полезен для задач, связанных с вводом-выводом или с использованием сторонних библиотек, написанных на языках, которые не поддерживают многопоточность.

В примере выше мы создаем два потока и запускаем их одновременно. Но из-за GIL каждый поток будет выполняться по очереди, а не параллельно.
#код
👍112
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»

Вы когда-нибудь задумывались о том, как входят в IT люди, у которых нет технического образования? Насколько тяжело начать карьеру с чистого листа в зрелом возрасте? Вот и мы решили выяснить это.

Читать статью
👍2😁21
👀 Базовые модели ML и приложения

Это наш новый курс для начинающих в теме машинного обучения🎉

🔹 Познакомитесь с основными моделями машинного обучения

🔹 Научитесь выбирать и применять подходящие tree-based модели

🔹 Получите основу для дальнейшего изучения более сложных нейронных сетей

Подробности – https://proglib.io/w/c7c35c4b

Кому будет полезен курс?

Начинающим в IT
. Тем, кто выбирает направление и хочет попробовать себя в ML

Математикам. Увлекаетесь математикой и хотите перейти от теории к практике, а также научиться решать реальные бизнес-задачи

Ну и главное, до конца сентября вы сможете получить этот курс бесплатно🤯

Пока ссылки нет на основном сайте, мы открываем продажи супер-акцией для своих 🙌https://proglib.io/w/c7c35c4b

Переходите на сайт, читайте подробности и заходите на обучение по самым выгодным условиям!
1
Что лучше: ООП или функциональный подход?
#интерактив
zlib.compress() и zlib.decompress()

Функция compress() сжимает данные data представленные в байтах, возвращая объект байтов, содержащий сжатые данные. Уровень level — целое число от 0 до 9 или -1, управляющее уровнем сжатия.
Синтаксис:
zlib.compress(data, level=-1)
1 — (Z_BEST_SPEED);
9 — (Z_BEST_COMPRESSION);
-1 — (Z_DEFAULT_COMPRESSION).

Функция decompress() распаковывает сжатые данные представленные как байты, возвращая объект байтов, содержащий несжатые данные.
Синтаксис:
zlib.decompress(data, wbits, bufsize)
data — сжатые байты;
wbits — управляет размером буфера, форматом заголовка и трейлера;
bufsize — начальный размер выходного буфера.
#код
🤯6👏5👍3