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
Сокращение ссылок прямо в коде

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

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

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

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

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

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

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

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

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

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

В Python есть отличная библиотека pyarmor, предназначенная именно для этого. Пример использования этого пакета в терминале представлен на картинке.
Что выведет программа?
Anonymous Quiz
42%
2
34%
Error
7%
3
17%
0
Проверка телефонных номеров

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

Следующий пример используется для проверки списка канадских номеров с префиксом.

Как видите, поскольку второе число использует символ «=» вместо «+», оно считается недействительным.
Что выведет программа?
Anonymous Quiz
3%
a
10%
d
29%
c
12%
b
33%
Error
13%
Другое
Переименование файлов в Python

Функция rename() используется для переименовывания файлов в Python. Для ее использования сперва нужно импортировать модуль os.
Функция map

Позволяет легко заменить циклы for, является частью функционального подхода к программированию. Применяет переданную функцию поочередно к каждому элементу массива.

Первым аргументом передаём функцию, а вторым — список. В примере из списка строк делаем список чисел.
Нумерованные списки

Задача нумерации элементов последовательности настолько распространена, что в Python есть соответствующая встроенная функция enumerate.

Для тех, кто уже знаком с enumerate, может оказаться новостью, что у функции есть второй аргумент, задающий начальное число.
Превью из длинного текста

Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста, например, для сайта. Первое, что приходит на ум – использовать слайсинг строк.

Но, как видите, текст оборвался на полуслове, поэтому такой вариант отпадает. Такую проблему хорошо решает метод shorten из модуля textwrap.

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

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

https://proglib.io/p/dorozhnaya-karta-python-razrabotchika-2021-10-09
Создание и чтение изображения

В этом примере мы создадим новое изображение в режиме RGB с размером (400, 300). Мы не будем указывать цвет, поэтому методы new() считают значение цвета по умолчанию 0 – для каналов RGB будет черным цветом.

Ознакомиться подробнее можно здесь.
Создание дочернего процесса

os.fork() создаёт дочерний процесс, вызывая системную функцию fork(), и возвращает PID (Process Identifier), равный PID дочернего процесса в родительском процессе и нулю в новом. На windows не работает.

Получается интересный случай — в коде выполняется и if, и else. Если не знать про os.fork() и посмотреть вывод подобного кода, то возникнет много вопросов.