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
Что выведет код?
Anonymous Quiz
11%
x
5%
z
29%
a
16%
c
39%
Error
Функция frozenset

Функция frozenset это неупорядоченный набор отдельных хешируемых объектов. Frozenset – неизменяемый набор, поэтому его содержимое не может быть изменено после его создания.

Функция frozenset() используется для создания объекта frozenset.
Метод str.expandtabs()

Метод str.expandtabs() возвращает копию строки str, в которой все символы табуляции t заменяются одним или несколькими пробелами, в зависимости от текущего столбца и заданного размера табуляции tabsize.

Для замены табуляций изначально номер столбца задаётся равным нулю и начинается посимвольный обход строки.

При обходе строки str, если попадается символ табуляции t, то на его место вставляется столько пробелов, что бы текущий номер столбца стал равным позиции следующей табуляции. При этом сам символ табуляции не копируется.

Если встречается символ переноса строки n или возврата каретки r, то он сохраняется в строке, а текущий номер столбца сбрасывается на 0. Любой другой символ копируется без изменений, а текущий столбец увеличивается на единицу.
Модуль 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.