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
Возврат нескольких значений из функции

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

Функция 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
Delorean

Удобная библиотека для работы с датами и временем. Cтоит отметить отличную документацию и огромное количество отсылок к «Назад в будущее».

В примере выводим дату и время на текущий момент на другом континенте. Документация: https://delorean.readthedocs.io/en/latest/
Что выведет программа?
Anonymous Quiz
4%
1
2%
0
48%
2
36%
None
9%
Error
Генерация случайного числа

Небольшой пост для новичков. Во встроенном модуле random (установка не требуется) есть функция randint, которая выдаёт случайные числа. Основывается на отрезке, где нижняя граница — первое переданное число, верхняя — второе. Обе границы включены в отрезок.
Работа с атрибутами объектов

Рассмотрим специальные функции для работы с атрибутами. getattr позволяет получить атрибут, setattr — установить его, delattr — удалить. hasattr проверяет, существует ли атрибут с указанным названием у объекта или нет.

Каждой функции первыми двумя аргументами передаются сам объект и название атрибута. В setattr также нужно передать новое значение для атрибута.

На практике эти четыре функции используются не слишком часто, но знать о них полезно.
Что выведет код?
Anonymous Quiz
41%
L, c, k,
39%
L, o, c, k,
4%
L, o, k,
9%
Error
7%
Другое