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
Делаем GIF из видео

Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/
Пример использования pywin32

Получаем доступ к системной информации, а именно к разрешению монитора. Для этого используем функцию GetSystemMetrics(). Документация: https://pypi.org/project/pywin32/
Первые шаги в Matplotlib

Matplotlib служит для построения графиков и визуализации данных, часто применяется в Data Science. В примере рисуем простейший график для знакомства с библиотекой, а также задаём собственные названия для осей координат с помощью методов plt.ylabel() и plt.xlabel().
Получаем такой результат.
Возврат нескольких значений

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

Используются для определённого преобразования значения поля format перед его форматированием. Их можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения.

!r — преобразует значение в строку, используя функцию repr()
!s
— преобразует значение в строку, используя функцию str()

В примере в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 10 символов, в случае с флагом !s — без кавычек в более удобном для чтения виде.
Выключение компьютера

Python позволяет всего одной строкой кода выключить компьютер. :) Используется при этом модуль os, в котором есть большое количество полезных функций для работы с операционной системой.
Нижнее подчеркивание

Есть несколько сценариев, когда имеет смысл использовать _ в качестве названия для переменной. Во-первых, для значений, которые не нужны, но как-то проинициализировать их надо — например, в цикле for, когда не нужно использовать индекс.

Ещё один сценарий для использования нижнего подчеркивания — при использовании модуля gettext вместо функции gettext() для сокращения кода (так советуют разработчики модуля).
Работа с IP адресами

Если вам приходится писать на Python программы для работы с сетью — значит, вам может пригодиться модуль ipaddress.

К примеру, один вариант его использования — генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация). У модуля ipaddress есть и много других интересных возможностей, прочитать о которых можно здесь.
Функция map

В Python неплохая поддержка функционального программирования. Одной из возможностей является функция map(), особенно полезной в сочетании с лямбда-функциями.

На картинке map() применяет простую лямбда-функцию на каждом элементе x и возвращает map-объект, который можно преобразовать в итерируемый объект, например кортеж или список.
Что будет выведено на экран?
Anonymous Quiz
26%
False, True
15%
None, None
10%
True, True
37%
True, False
13%
Не знаю
Что выведет код?
Anonymous Quiz
66%
False, False
9%
None, None
14%
True, True
11%
True, False
Пакет schedule

schedule позволяет планировать выполнение каких-либо задач на определённый промежуток времени. В примере мы заставляем программу каждую секунду вызывать нашу функцию job.

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

Документация доступна по ссылке:
https://schedule.readthedocs.io/en/stable/
Что выведет код?
Anonymous Quiz
13%
love
24%
python
14%
hi
29%
None
20%
Не знаю
Что выведет код?
Anonymous Quiz
16%
False
19%
True
41%
Error
24%
Ничего из этого