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

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

Канал на бирже:
https://telega.in/c/seniorpy
Download Telegram
Упрощение конструкций с if

Если вам нужно проверить несколько значений, используйте список, как показано на картинке. Это позволит сократить объем кода и улучшить читаемость.
Что выведет код?
Anonymous Quiz
57%
1
26%
10
14%
Error
1%
Другое
2%
Не знаю
Операции с zip архивами

Для манипуляций с zip файлами используется встроенный модуль zipfile (установка не требуется). Напомним, что zip используется для сжатия файлов без потерь.

Посмотреть файлы архива можно с printdir, извлечь все файлы — с extractfile. У модуля есть еще несколько полезных функций, включая создание собственных архивов. Документация: https://docs.python.org/3/library/zipfile.html
Метод join

У строк в Python есть полезный метод join, позволяющий соединять строки. Он принимает на вход некий итерируемый объект, элементы которого тоже должны быть строками.

В результате метод join возвращает новую строку, которая собрана из элементов того самого итерируемого объекта. При этом в новой строке разделителем между элементами является та строка, у которой был вызван join.
Что выведет программа?
Anonymous Quiz
22%
False False
14%
False True
43%
True False
21%
True True
Размер в байтах

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

Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать. Ознакомьтесь с приведенным на картинке примером кода. Значения вернутся в кортеже.
Исполнение кода в виде строки

Функция exec позволяет выполнять Python-код, который хранится в виде строки. Первым аргументом передается сама строка с кодом, а далее можно с помощью словарей задать переменные, которые будут задействованы в исполнении кода.
Правильный способ сравнивать float-ы в Python.

https://davidamos.dev/the-right-way-to-compare-floats-in-python/
Хэширование

Напомним, что Хэширование — это преобразование некоторого объема информации в уникальный набор символов, присущий только этому массиву информации. Широко используется в криптографии.

Для создания хэш-значений есть удобный модуль hashlib, содержащий ряд полезных хэш-функций. Использование довольно простое: в модуле имеется ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша.
Полезная библиотека boltons

В библиотеке много интересных утилит, дополняющих стандартную библиотеку языка. Сегодня остановимся на strutils, которая фокусируется на работе со строками.

На картинке показано, как можно легко разделить строку по знакам пунктуации, вытащить текст из HTML и найти хештеги в строке. Документация утилиты: https://boltons.readthedocs.io/en/latest/strutils.html