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
23%
7
27%
1
43%
Error
6%
None
Функция chr()

Функция chr() вернет строку, представляющую символ, соответствующий переданному в качестве аргумента целому числу из таблицы символов Unicode. Например, chr(97) возвращает строку a, а chr(8364) возвращает строку €. Функция chr() - обратная функции ord().

Допустимый диапазон аргументов - от 0 до 1114111 (0x10FFFF в базе 16). Будет поднят ValueError, если x за пределами этого диапазона.

Если необходимо преобразовать символ в число из таблицы символов Unicode, то используйте функцию ord().
Что выведет код?
Anonymous Quiz
11%
True
71%
False
8%
None
10%
Error
itertools.takewhile

С
помощью функции takewhile() мы можем фильтровать элементы последовательности до тех пор, пока условие не станет True. Как только он становится True, он останавливает процесс фильтрации.
Функция sample()

Функция sample() модуля random возвращает список длины k случайных элементов, выбранных из последовательности или множества population. Исходная последовательность population остается неизменной.

Используется для случайной выборки без замены.

Элементы population не должны быть хешируемыми или уникальными. Если population содержит повторы, то каждый случай является возможным выбором в результирующем списке.
Что выведет код?
Anonymous Quiz
4%
8
17%
(8,7)
22%
()
57%
Error
Функция contextmanager()

Функция contextmanager() модуля contextlib представляет собой декоратор, который можно использовать для определения фабричной функции для оператора контекстных менеджеров with без необходимости создавать класс или отдельные методы enter() и exit().

Хотя многие объекты изначально поддерживают использование в операторах with, иногда необходимо управлять ресурсом, который сам по себе не является диспетчером контекста и не реализует метод close() для использования с функцией contextlib.closing().
Что выведет код?
Anonymous Quiz
29%
I LOVE PYTHON
60%
I Love Python
6%
None
5%
Error
Модуль mmap

Модуль mmap обеспечивает ввод и вывод файла с отображением памяти (I/O), что позволяет использовать функциональные возможности операционной системы более низкого уровня для чтения файлов.

Такое поведение может значительно улучшить производительность кода, требующего большого количества файловых операций ввода-вывода.

В приведенном выше примере:

1)Сначала мы импортируем модуль mmap.

2)Затем определяем путь к файлу на диске.

3)Затем мы создаем объект file_object с помощью системного вызова open().

4)После получения объекта file мы создаем отображение файла в адресное пространство программы с помощью функции mmap.

5)Затем мы считываем данные из объекта mmap.

6)И распечатываем данные.
Что выведет код?
Anonymous Quiz
8%
[3]
9%
[8]
44%
[7]
39%
Error
Функция zip_longest()

Функция zip_longest() модуля itertools создает итератор, который объединяет элементы из каждой итерируемой последовательности iterables в кортежи.

Отличие функции zip_longest() от встроенной функции zip() заключается в том, что zip() останавливается по исчерпании самой короткой входной последовательности и отбрасывает несопоставимые значения более длинных итераций, в то время как zip_longest() работает пока самая длинная итерация не будет исчерпана, а пропущенные элементы заполняются значением fillvalue.
Что выведет код?
Anonymous Quiz
14%
6
49%
9
8%
7
28%
Error
Функция nlargest()

Функция nlargest() модуля heapq возвращает список с n самыми большими элементами из набора данных, определенного с помощью итерируемой последовательности iterable.

Аргумент key, если он указан, определяет функцию с одним аргументом, которая используется для извлечения ключа сравнения из каждого элемента в итерируемой последовательности iterable, например key=str.lower. Значением по умолчанию является None, что означает сравнение элементов напрямую.

Функция nlargest() эквивалентна вызову sorted(iterable, key=key, reverse=True)[:n].

Работает лучше для маленьких значений n. Для больших значений более эффективно использовать функцию sorted(). Также, когда n=1, более эффективно использовать встроенную функцию max().

Если требуется повторное использование функции heapq.nlargest(), рассмотрите возможность преобразования последовательности iterable в реальную кучу.
Функция hasattr()

Функция hasattr() проверяет существование атрибута с именем name в объекте object. Возвращает True, если атрибут с именем name существует, иначе False.

Реализация функция hasattr() основывается на вызове функции getattr() с последующей проверкой на предмет брошенного ей исключения AttributeError.