Senior Python Developer
43.6K subscribers
2.09K photos
4 videos
1 file
526 links
№ 4931117861
Публикуем интересные/полезные фичи/библиотеки языка.

По вопросам сотрудничества: @adv_and_pr

Канал на бирже:
https://telega.in/c/seniorpy
Download Telegram
Сокращение ссылок

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

Создать такую ссылку можно всего за три строчки кода, при помощи использования библиотеки PyShorteners. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.

Устfновка библиотеки - pip install pyshorteners.
#вопросы_с_собеседований
Напишите функцию, которая будет принимать список nums, содержащий числа в диапазоне от 1 до 100, и возвращать отсортированный список чисел, которые в списке nums встречались дважды.

Примеры:

duplicate_nums([1, 2, 3, 4, 3, 5, 6])
➞ [3]

duplicate_nums([81, 72, 43, 72, 81, 99, 99, 100, 12, 54])
➞ [72, 81, 99]

duplicate_nums([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
➞ None

Примечания:
— никакое число не будет встречаться в nums трижды и более раз,
— если никакое число в nums не встречалось дважды, функция должна вернуть None.
DiskCache

DiskCache — это высокопроизводительная библиотека кэширования, написанная на чистом Python и совместимая с Django. Она использует дисковое пространство и файлы для хранения данных, что делает ее быстрее, чем Redis и Memcached, особенно при работе с большими объемами данных.

https://pypi.org/project/diskcache/

#для_продвинутых
Wagtail

Wagtail — это система управления контентом (CMS) с открытым исходным кодом, построенная на базе Django. Она фокусируется на пользовательском опыте и предоставляет разработчикам и дизайнерам точный контроль над созданием контента.

#для_продвинутых
Indico

Indico — это мощная библиотека Python для извлечения информации из неструктурированных текстов, изображений и PDF-файлов. Она позволяет вам выполнять задачи обработки естественного языка (NLP), компьютерного зрения (CV) и машинного обучения (ML) с помощью простых и понятных API.

https://pypi.org/project/indico/

#для_продвинутых
Bidict

Bidict — это библиотека Python, предоставляющая двунаправленное отображение данных и связанные с ним функции для естественной работы с однозначными отношениями.

#для_продвинутых
⚙️ Pympler для мониторинга и анализа памяти

ℹ️ Библиотека мониторит и анализирует память, которая используется при исполнении кода программ на Python. Инструмент находит ее избыточное потребление, утечки и другие баги.

🗣️ С помощью Pympler можно узнать все о размере и длительности процессов приложения на Python за время работы.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ functools для более мощных функций

ℹ️ Библиотека содержит множество методов и декораторов, которые вы можете обернуть существующими, чтобы добавить дополнительные функции.

🗣️ Одним из них является partial, который можно использовать для клонирования функций, сохраняя при этом некоторые из их аргументов с пользовательскими значениями

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Contextlib для обработки внешних источников

ℹ️ Библиотека contextlib в Python предоставляет утилиты для работы с контекстными менеджерами и упрощения создания и использования ресурсов с помощью оператора with.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Pymystem3 для морфологического анализа

ℹ️ Библиотека быстро и качественно распознает части речи и лексемы слова.

🗣️ Третья версия Mystem содержит несколько важных улучшений, в первую очередь устранение неоднозначности частей речи

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Black для проверки код-стайла

ℹ️ Разработчики должны придерживаться код-стайла, чтобы легче понимать код друг друга. Соглашение об оформлении кода на Python называется PEP8.

🗣️ Писать рекомендуется в соответствии с ним, но проверять оформление вручную может быть долго и неудобно, а библиотека black проводит такие проверки автоматически. Это автоформатер: он исправляет нарушения код-стайла и делает код более чистым.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Dora для очистки и разведочного анализа данных

ℹ️ Dora — это библиотека для очистки и разведочного анализа данных, которая значительно упрощает решение задач Data Science.

🗣️ С ее помощью можно преобразовывать категориальные данные в порядковые, менять и удалять столбцы, выделять, извлекать и визуализировать признаки и решать много других задач.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ logging для расширенных операций с файлами

ℹ️ Модуль позволяет регистрировать сообщения с различными приоритетами и временными метками в пользовательском формате.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ pickle для быстрого и эффективного хранения

ℹ️ Точно так же, как размеры наборов данных становятся всё больше и больше, растут и наши потребности в их более быстром и эффективном хранении. Одной из альтернатив плоским CSV-файлам, которые поставляются с вашей установкой Python, является формат файла pickle.

🗣️ На самом деле он примерно в 80 раз быстрее CSV при вводе-выводе и занимает меньше памяти.

🔗 Ссылочка на доку
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ secrets для генерации случайных чисел и символов

ℹ️ Хотя реализовать свои собственные функции кодирования сообщений может быть очень весело, они, вероятно, не будут соответствовать тем же стандартам, что и проверенные в боевых условиях функции в библиотеке secrets.

🗣️ Там вы найдёте всё необходимое для генерации случайных чисел и символов для самых сложных паролей, токенов безопасности и связанных с ними секретов.

🔗 Ссылка на док
Please open Telegram to view this post
VIEW IN TELEGRAM
Получаем гласные

Этот пример возвращает в строке найденные гласные "a e i o u". Это может оказаться полезным при поиске или обнаружении гласных.
PlatformIO

PlatformIO — это мощная и гибкая платформа с открытым исходным кодом для разработки встроенного ПО, написанная на Python. Она позволяет легко создавать, компилировать, отлаживать и прошивать код для различных микроконтроллеров и плат.

#для_продвинутых
SCons

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

#для_продвинутых
Pyppeteer

Pyppeteer — это библиотека для управления браузером с помощью Python с использованием инструмента Puppeteer, который изначально был разработан для Node.js. Puppeteer позволяет автоматизировать взаимодействие с веб-страницами, выполнять сценарии на основе браузера, выполнять скриншоты, создавать PDF-файлы и многое другое.

Pyppeteer предоставляет Python-интерфейс для работы с Puppeteer, и, таким образом, позволяет разработчикам использовать мощные инструменты. Это особенно полезно для автоматизации тестирования веб-приложений, сбора данных с веб-сайтов и других сценариев, требующих взаимодействия с браузером.

#для_продвинутых
VisPy

VisPy — это библиотека для визуализации данных в Python, предназначенная для создания высокопроизводительных интерактивных визуализаций. Она использует библиотеку OpenGL для рендеринга и обеспечивает доступ к графическим возможностям вашего компьютера через современный Python API.

После установки библиотеки, вы можете создать графические приложения с использованием VisPy. В примере на картинке создается окно с красным треугольником. VisPy предоставляет широкие возможности для создания 2D и 3D визуализаций, а также возможность работы с пользовательским вводом, анимациями и интерактивностью.

Вы можете найти дополнительные примеры и документацию на официальном сайте VisPy, чтобы более подробно изучить возможности этой библиотеки и начать создавать собственные визуализации.

#для_продвинутых
Метод isspace()

Метод isspace() — это строковый метод, который используется для проверки, состоит ли строка только из пробельных символов (пробелов, символов табуляции, символов новой строки и других символов, которые считаются «пробельными» в контексте языка Python).

Примечание: isspace() не изменяет исходную строку, а просто возвращает булево значение в зависимости от условия.

#для_начинающих