Адрес канала:
Категории:
Технологии
Язык: Русский
Количество подписчиков:
95.60K
Описание канала:
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.
Наши мемы для программистов: @conhum
Сотрудничество - @alivian
Канал сотрудничает с рекламным сервисом @Tgpodbor_official
Рейтинги и Отзывы
Оценить канал pythonaa и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.
5 звезд
0
4 звезд
0
3 звезд
1
2 звезд
1
1 звезд
0
Последние сообщения 105
2021-01-26 14:14:04
Ускоряем код с помощью векторизацииОдним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize.
По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.
#vectorize #numpy
9.2K views11:14
2021-01-26 14:14:04
Именование среза с использованием функции sliceРабота с множеством значений, которые заданы индексами, может быстро обернуться беспорядком – как в плане поддержки, так и в плане читабельности кода.
Один из вариантов улучшения ситуации заключается в использовании констант для значений, задаваемых индексами. Но есть и более удачный способ написания качественного кода, как показано на картинке..
#трюки
8.7K views11:14
2021-01-26 14:14:03
Частичное применениеСегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools.
Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.
#functools
8.5K views11:14
2021-01-26 14:14:03
Правильным ответом является [1, 2]Происходит так из-за того, что дефолтные параметры хранятся в неизменном кортеже в атрибуте функции defaults, который создается один раз в момент определения функции.
А для того, чтобы добиться правильного поведения функции, следует воспользоваться ключевым словом None при определении аргументов по-умолчанию.
8.4K views11:14
2021-01-26 14:14:02
3 трюка с itertoolsСегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции – chain. Она позволяет "склеивать" несколько итерируемых элементов в один.
Далее, accumulate. Эта функция немного похожа на reduce, но вместо того, чтобы давать одно окончательное значение, она последовательно применяет функцию, заданную вторым аргументом (в данном случае min), к каждому последующему элементу по порядку: min(11), min(11, 3), min(11, 3, 9) и так далее.
А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция combinations. Вторым аргументом можно задать длину этой самой комбинации.
#модули #itertools
8.2K views11:14