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
Параметры *args и **kwargs

*args используется, когда неизвестно, сколько именно аргументов будет принимать функция. В коде в переменную args записывается кортеж всех переданных значений. *kwargs поступает почти так же с именованными аргументами — они записываются в соответствующий словарь.
Что выведет код?
Anonymous Quiz
5%
[1, 2, 3]
45%
2 None
9%
2None
17%
1
17%
Error
7%
Другое
Фильтрация False-значений

Данный код можно использовать для исключения всех "ложных" значений из списка, к примеру false, 0, None, " ".
Особая переменная __name__

Когда интерпретатор Python работает с программой, в начале он устанавливает некоторые специальные переменные. Одна из них — __name__.

Если скрипт запущен напрямую, то в переменную присваивается значение __main__, в случае импорта — название модуля.

__name__ по умолчанию также есть у всех классов и функций. Популярный вид работы с переменной — установка точки входа в программу.
Тернарный оператор

Тернарный оператор — это сокращённая форма записи условного выражения if-else. Вот пример использования.
Встроенная функция 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 она позволяет быстро создать короткую ссылку.