Ускоряем код с помощью векторизации
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией
По сути,
Не забудьте установить библиотеку командой
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией
my_func
мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize
.По сути,
vectorize
преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.Не забудьте установить библиотеку командой
pip install numpy
Прочитать произвольную строку из файла
Создадим файл
Нам может помочь функция
Создадим файл
text.txt
и выведем из нее нужную нам строку.Нам может помочь функция
getline
из модуля linecache
. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline
кеширует все строчки файла в списке, так что следующие вызовы get_answer
отработают моментально.Узнать день недели 100 лет назад
Есть в питоне модуль
Но есть в нём и полезные функции. Например, узнать день недели для любой даты в прошлом или будущем.
Есть в питоне модуль
calendar
. На деле он занимается форматированием календарей в HTML
(именно то, что требуется в стандартной библиотеке любого языка).Но есть в нём и полезные функции. Например, узнать день недели для любой даты в прошлом или будущем.
Слабые ссылки
Слабые ссылки позволяют получать доступ к объекту, как и обычные, но они не учитываются в механизме подсчета ссылок. Другими словами, слабые ссылки не могут поддерживать объект живым, если на него не осталось больше сильных ссылок.
Согласно документации, слабые ссылки нужны для организации кэшей и хэш-таблиц из «тяжелых» объектов, когда не требуется поддерживать объект живым только силами этого самого кэша; чтобы в долгоживущей программе не кончалась память из-за хранения в кэшах большого количества уже не нужных объектов.
Встроенный модуль
Слабые ссылки позволяют получать доступ к объекту, как и обычные, но они не учитываются в механизме подсчета ссылок. Другими словами, слабые ссылки не могут поддерживать объект живым, если на него не осталось больше сильных ссылок.
Согласно документации, слабые ссылки нужны для организации кэшей и хэш-таблиц из «тяжелых» объектов, когда не требуется поддерживать объект живым только силами этого самого кэша; чтобы в долгоживущей программе не кончалась память из-за хранения в кэшах большого количества уже не нужных объектов.
Встроенный модуль
weakref
отвечает за функциональность слабых ссылок.Работа с датами
Модуль
Выше приведен пример парсинга даты из логов.
Модуль
python-dateutil
предоставляет мощное расширение для стандартного datetime
. Устанавливается он следующим образом:pip3 install python-dateutil
Выше приведен пример парсинга даты из логов.
Скорость соединения
Нужно проверить скорость интернета? Не проблема, так как в Питоне есть специальная библиотека
Установка библиотеки -
Нужно проверить скорость интернета? Не проблема, так как в Питоне есть специальная библиотека
Pyspeedtest
, которая позволяет быстро выполнить полную проверку скорости вашего интернета.Установка библиотеки -
pip install pyspeedtest
Сокращение ссылок
Создать сокращенную ссылку можно при помощи использования библиотеки
Установка библиотеки -
Создать сокращенную ссылку можно при помощи использования библиотеки
PyShorteners
. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.Установка библиотеки -
pip install pyshorteners
Котировки акций на python
Библиотека
Перед началом работы установите модуль командой
Компания Apple имеет тикер "AAPL", который мы передадим в функцию
Библиотека
yfinance
поможет получить нам необходимые значения.Перед началом работы установите модуль командой
pip install yfinance.
Компания Apple имеет тикер "AAPL", который мы передадим в функцию
Ticker()
и получим цену за акцию из поля ['regularMarketPrice']
Создание списка из нужного количества заданных элементов
Counter
— это подкласс словаря dict
. Сама коллекция нужна для хранения элементов в виде словарных ключей, а их счетчики хранятся в виде значений словаря. elements
— возвращает итератор по элементам, каждый из которых повторяется столько раз, сколько его количество.Рисуем графики
Графическая библиотека
Применим эту библиотеку чтобы построить простой линейный график.
Сначала нам нужен список с данными, которые мы хотим изобразить на графике. Это может быть, например, список или
Далее метод
Метод
Установка командой
Графическая библиотека
plotly
позволяет создавать интерактивные качественные графики в Python. Применим эту библиотеку чтобы построить простой линейный график.
Сначала нам нужен список с данными, которые мы хотим изобразить на графике. Это может быть, например, список или
numpy
массивДалее метод
fig = px.line(y=data)
принимает наши данные и строит график в виде точек с координатами из массива и обьединяет их линиями. Метод
fig.show()
откроет графическое окно с изображенным графиком. Установка командой
pip install plotly
Delorean
Delorean
— отличная библиотека для работы с датами и временем. Работа с временем с помощью неё в Python мне кажется наиболее естественной. Так же стоит отметить отличную документацию и бесчисленное количество отсылок к «Назад в будущее».JmesPath
Работать с
Работать с
JSON
в Python — сплошное удовольствие, ведь он прекрасно отображается в Python-словаре. Кроме того, Python поставляется с собственной библиотекой для создания и анализа, или разбора, JSON
.JMESPath
делает работу с JSON
на Python еще проще. Теперь вы можете декларативно указывать, как извлекать элементы из JSON
-документа. Вот несколько примеров, иллюстрирующих возможности JMESPath
. Функция help()
Функция
Функция
help()
предоставляет простой способ получения доступа к документации Python без интернета для любой функции, ключевого слова или модуля.Бесконечный итератор последовательности
С помощью
С помощью
itertools.cycle()
создаётся кольцевой итератор. Прийдя к последнему значению, он вновь начинает с первого.Имеется кортеж вида T = (4, 2, 3). Какая из операций приведёт к тому, что имя T будет ссылаться на кортеж (1, 2, 3)?
Anonymous Quiz
26%
T[0] = 1
25%
T = (1) + T[1:]
32%
T = (1,) + T[1:]
17%
T.startswith(1)
Преобразование изменяемых данных в неизменяемые
Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
Контейнеры
Контейнеры — это объекты, содержащие значения данных. Они поддерживают тесты на членство, что означает, что вы можете проверить, существует ли значение в контейнере. Кроме того, контейнеры являются итерируемыми объектами. Списки, множества, словари, кортежи и строки — все это контейнеры.
Контейнеры — это объекты, содержащие значения данных. Они поддерживают тесты на членство, что означает, что вы можете проверить, существует ли значение в контейнере. Кроме того, контейнеры являются итерируемыми объектами. Списки, множества, словари, кортежи и строки — все это контейнеры.
Поиск классов Python
В Python все является объектом. Числа, строки, датафреймы и даже функции являются объектами. В частности, все, с чем вы имеете дело в Python, имеет класс — шаблон, с которым под капотом связан этот объект. Благодаря наличию этих унифицированных интерфейсов вы можете, например, использовать любой DataFrame одним и тем же образом.
Вы можете вызвать функцию
В Python все является объектом. Числа, строки, датафреймы и даже функции являются объектами. В частности, все, с чем вы имеете дело в Python, имеет класс — шаблон, с которым под капотом связан этот объект. Благодаря наличию этих унифицированных интерфейсов вы можете, например, использовать любой DataFrame одним и тем же образом.
Вы можете вызвать функцию
type()
для любого объекта Python, чтобы узнать его класс. Например, класс массива numpy
на самом деле называется ndarray
(для n-мерного массива).Назначаем функцию на нажатие клавиш
Создаем функцию. Далее нам необходима библиотека
Установка библиотеки командой
Создаем функцию. Далее нам необходима библиотека
keyboard
. Используем функцию add_hotkey
. В качестве аргумента указываем комбинацию и функцию.Установка библиотеки командой
pip install keyboard