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

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

Канал на бирже:
https://telega.in/c/seniorpy
Download Telegram
Встроенная функция help()

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

Для указанного в подзаголовке случая в Python есть оператор * – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции.
Метод re.sub()

re.sub(pattern, repl, string)

Ищет шаблон в строке и заменяет его на указанную подстроку. Если шаблон не найден, строка остается неизменной.
Выполнение функций по заданному расписанию

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

Она позволяет описать в декораторе конфигурацию расписания, согласно которому метод будет запускаться. В примере выше функция hi будет выполняться каждые 30 минут. С помощью этого конфигуратора можно составить свою строку-расписание: https://crontab.guru/
🐍 Что такое yield в Python? Самый популярный вопрос на Стаковерфлоу по Питону

Самый популярный Python-вопрос на Stackoverflow связан с ключевым словом yield. Разберемся с его назначением и особенностями использования.

https://proglib.io/p/chto-takoe-yield-v-python-samyy-populyarnyy-vopros-na-stakoverflou-po-pitonu-2022-03-21
Поиск соответствий в строках

В стандартной библиотеке есть модуль difflib с методом get_close_matches, позволяющий в одно применение найти похожие строки.

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

Нужно проверить скорость интернета? Не проблема, так как есть специальная библиотека pyspeedtest, которая позволяет быстро выполнить полную проверку скорости вашего WiFi.
Сокращение ссылок прямо в коде

Иногда возникает необходимость сделать ссылку более короткой. Для этого пригодится библиотека pyshorteners — с помощью трех строк кода и сервиса tinyurl она позволяет быстро создать короткую ссылку.
Что выведет код?
Anonymous Quiz
43%
True
29%
False
24%
Error
4%
Другое
Переход данных из изменяемых в неизменяемые

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

Код с неизменяемыми структурами данных проще для понимания. В примере показано, как преобразовать список в кортеж.
Фреймворк Flask

Один из самых популярных фреймворков для разработки бэкенда. Предназначен для быстрого лёгкого старта работы в создании как простых, так и сложных приложений.

Для первого рабочего приложения достаточно шести строк. В начале импортируем модуль, установленный как обычно при помощи pip, затем создаём объект-приложение, далее с помощью декоратора указываем путь в адресной строке и определяем функцию, которая возвращает отображаемый текст. После запуска приложения результат можно увидеть в браузере по адресу http://localhost:5000/.
from future import

Од
ним из последствий популярности Python является постоянная разработка и выход новых версий. Новые версии — новые возможности, но только не для вас, если вы пользуетесь устаревшей.

Впрочем, не всё так плохо. Модуль future даёт возможность импортировать функциональность будущих версий Python. Это прямо как путешествие во времени, или магия.
Защищаем исходный код обфускацией

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

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

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

В Python есть отличная библиотека pyarmor, предназначенная именно для этого. Пример использования этого пакета в терминале представлен на картинке.