Python академия
7.7K subscribers
2.37K photos
5 videos
269 links
Python академия. Учи Python быстро и легко. По всем вопросам @evgenycarter
Download Telegram
Проверяем скорость интернета

Каждый хоть раз проверял скорость своего интернета на Speedtest. А у них, оказывается, есть не только сайт и приложения, но и пакет на Python для этого дела.

У объекта класса Speedtest методы download() и upload() выдают соответственно скорость скачивания и загрузки данных.

Методы отдают результат в байтах, поэтому для наглядности в примере я перевел все данные в мегабайты при выводе.

Подписывайтесь на канал 👉@pythonofff
Please open Telegram to view this post
VIEW IN TELEGRAM
Выполнение html-скрипта в ячейке

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

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

Подписывайтесь на канал 👉@pythonofff
👍3
Порядок разрешения методов

В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов в классе. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод.

Этот порядок можно получить при помощи атрибута __mro__. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value, Python будет искать сначала в классе A, далее в B, затем в C и в самом конце в object.

Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1.

Подписывайтесь на канал 👉@pythonofff
Please open Telegram to view this post
VIEW IN TELEGRAM
Ускоряем код с помощью векторизации

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

Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize.

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

Подписывайтесь на канал 👉@pythonofff
👍1
JMESpath – это язык запросов для JSON

Который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.

Подписывайтесь на канал 👉@pythonofff
👍1