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
Флаги явного преобразования

Используются для определённого преобразования значения поля 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%
Ничего из этого
Каким будет результат выполнения кода?
Anonymous Quiz
2%
0
5%
1
13%
False
46%
True
5%
None
26%
Error
4%
Другое
Forwarded from Влад
Что выведет программа?
Anonymous Quiz
35%
['Hello', 'World']
58%
['HELLO', 'WORLD']
4%
[None, None]
3%
Другое
Ищем опечатки

Пакет spellchecker позволяет отыскать ошибки в тексте, а также может предложить варианты исправлений. В примере проходимся по списку из двух слов, из которых одно ('therre') написано с опечаткой. Функция correction замечает это и предлагает одно самое вероятное исправление, а candidates — несколько.

Пакет поддерживает шесть языков. Документация: https://pypi.org/project/pyspellchecker/