Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Модуль gzip

Модуль gzip предоставляет простой интерфейс для сжатия и распаковки файлов, как это делают программы GNU gzip и gunzip.

Сжатие потока данных обеспечивается модулем zlib.

Модуль gzip предоставляет класс gzip.GzipFile(), а также удобные функции gzip.оpen(), gzip.compress() и gzip.decompress(). Класс gzip.GzipFile() читает и записывает файлы формата gzip, автоматически сжимая или распаковывая данные, чтобы они выглядели как обычный файловый объект.

Обратите внимание, что дополнительные форматы файлов, которые могут быть распакованы программами gzip и gunzip, например созданные с помощью команды bash compress и pack, этим модулем не поддерживаются.
Operator.attrgetter(attr)

Operator.attrgetter(attr), operator.attrgetter(*attrs): Функция возвращает вызываемый объект, который получает attr из своего операнда. Если запрашивается более одного атрибута, возвращает набор атрибутов. Имена атрибутов также могут содержать точки. после f = attrgetter('name'), вызов f(b) вернет b.nam.
Что выведет код?
Anonymous Quiz
44%
None
20%
True
6%
False
31%
Someone
Метод set.symmetric-difference-update()

Метод set.symmetric_difference_update() позволяет изменить множество set так, что оно будет содержать уникальные элементы, встречающиеся в самом множестве и последовательности other. Метод возвращает обновленное множество set с элементами, которые являются уникальными для обоих объектов. При выполнении данной операции, дубликаты игнорируются.

Метод set.symmetric_difference_update() принимает в качестве аргумента other любой объект, поддерживающий итерацию по своим элементам. Это может быть список, кортеж, список ключей словаря, или другое множество и т.д.

Операция позволяет использовать бинарный оператор ^=, но при этом левый операнд должен быть изменяемым множеством, а правый - должны быть множеством frozenset или set. Если это условие не выполнено поднимается исключение TypeError.

Эта операция поддерживается только изменяемым множеством set.

Для того, что-бы получить новое множество используйте метод symmetric_difference().
Что выведет код?
Anonymous Quiz
24%
Text
8%
None
56%
PHub
12%
Error
Декоратор classmethod()

Декоратор classmethod() представляет указанную функцию function методом класса. Метод класса получает класс как неявный первый аргумент cls, так же, как метод экземпляра получает экземпляр. Это означает, что можно использовать свойства класса внутри этого метода без создания конкретного экземпляра класса.

Декоратор classmethod является функцией декоратора и привязывает метод к классу, а не к конкретному экземпляру этого класса.
Что выведет код?
Anonymous Quiz
6%
10
15%
01
54%
0
9%
None
15%
Error
Функция compress()

Функция compress() модуля itertools создает итератор, который фильтрует элементы из данных data, возвращая только те, которые имеют соответствующий элемент, равный True или 1 в последовательности selectors.

Функция itertools.compress() останавливается, когда исчерпана последовательность данных data или selectors.
#1
Функция html.escape()

Функция html.escape() преобразует символы &, < и > в строке s в безопасные последовательности HTML.

Используйте эту функцию, если надо отобразить на HTML странице текст, который может содержать вышеуказанные символы. Это убережет от XXS-атаки - внедрение вредоносного JavaScript-кода.

Если необязательный флаг quote имеет значение True, то также переводятся символы (") и ('). Это поможет включить в HTML-атрибут значение, разделенное кавычками, например как в <a id="...">.
#2
Функция html.unescape()

Функция html.unescape() преобразует все именованные и числовые ссылки на символы (например &gt;, &#62;) в строке s в соответствующие символы Юникода. Другими словами, эта функция обратная html.escape()

Функция html.unescape() использует правила, определенные стандартом HTML 5 для допустимых и недопустимых ссылок на символы, а также список именованных ссылок на символы HTML 5.
Что выведет код?
Anonymous Quiz
6%
10
44%
8
20%
5
30%
Error
Функция asctime()

Функция asctime() модуля time преобразует кортеж или struct_time, представляющие время, возвращаемое time.gmtime() или time.localtime(), в строку следующего вида: 'Fri Apr 24 15:13:37 2022'.

Поле с указанием дня имеет длину два символа и дополняется пробелом, если день представляет собой одну цифру.

Если аргумент t не указан, используется текущее время, возвращаемое функцией time.localtime().

Функция time.asctime() не использует информацию о локали и не добавляет завершающий символ новой строки.