Библиотека Selenium
Функционал библиотеки необходим для работы с браузером. В тестировании она является одной из самых популярных. При выполнении кода с картинки откроется браузер Chrome и перейдет на сайт python.org, а также выберет первый html-элемент с классом button.
Возможности библиотеки:
1. Автоматизация работы браузера.
2. Парсинг сайтов, нажатия на кнопки.
3. Эмуляция различных действий пользователя.
4. Отправка GET/POST запросов.
Документация доступна по ссылке.
Функционал библиотеки необходим для работы с браузером. В тестировании она является одной из самых популярных. При выполнении кода с картинки откроется браузер Chrome и перейдет на сайт python.org, а также выберет первый html-элемент с классом button.
Возможности библиотеки:
1. Автоматизация работы браузера.
2. Парсинг сайтов, нажатия на кнопки.
3. Эмуляция различных действий пользователя.
4. Отправка GET/POST запросов.
Документация доступна по ссылке.
Упрощенная работа с JSON
Есть один интересный пакет
Основные примеры использования показаны на картинке. Метод
Возможностей у пакета достаточно, поэтому он вполне достоин изучения и применения в проектах. Подробнее можно узнать в документации.
Есть один интересный пакет
JMESpath, который позволяет декларативно указать, как извлекать элементы из JSON. Основные примеры использования показаны на картинке. Метод
search принимает паттерн, по которому требуется извлечь данные, а также словарь, который сам похож на JSON. Возможностей у пакета достаточно, поэтому он вполне достоин изучения и применения в проектах. Подробнее можно узнать в документации.
Встроенные функции all и any
Функция all возвращает True, если переданный ей список пустой или все его элементы истинны.
Функция any возвращает True, если хотя бы один из элементов переданного списка истинный.
Функционал довольно простой и примитивный, но в некоторых ситуациях может уберечь от написания костылей. Вместе с циклами и другими конструкциями может помочь сократить громоздкие функции.
Функция all возвращает True, если переданный ей список пустой или все его элементы истинны.
Функция any возвращает True, если хотя бы один из элементов переданного списка истинный.
Функционал довольно простой и примитивный, но в некоторых ситуациях может уберечь от написания костылей. Вместе с циклами и другими конструкциями может помочь сократить громоздкие функции.
Логические значения чисел
Функция bool() преобразует объект в логическое значение. Язык также позволяет производить логические операции and, or, not с числами.
При преобразовании чисел к логическим значениям все числа кроме нуля преобразовываются в True. Лишь 0 переходит в False.
Логические операции с числами работают согласно таблицам истинности операторов.
Функция bool() преобразует объект в логическое значение. Язык также позволяет производить логические операции and, or, not с числами.
При преобразовании чисел к логическим значениям все числа кроме нуля преобразовываются в True. Лишь 0 переходит в False.
Логические операции с числами работают согласно таблицам истинности операторов.
Получаем данные о памяти на диске
Встроенный модуль
Однако с помощью
Все три значения возвращаются в байтах, в примере мы их перевели в гигабайты для наглядности.
Встроенный модуль
shutil обычно используют в задачах копирования, переноса файлов и папок.Однако с помощью
shutil мы можем даже получать информацию о памяти на жестком диске компьютера. Метод disk_usage возвращает количество всей, занятой и свободной памяти.Все три значения возвращаются в байтах, в примере мы их перевели в гигабайты для наглядности.
Очистка элементов в последовательности
Иногда возникает необходимость в удалении ненужных объектов последовательности. Для этого используют
Первым аргументом передаётся контейнер, к примеру список. Вторым аргументом — логические значения, соответствующие элементам в контейнере.
Если логическое значение равно
Иногда возникает необходимость в удалении ненужных объектов последовательности. Для этого используют
itertools, а именно метод compress.Первым аргументом передаётся контейнер, к примеру список. Вторым аргументом — логические значения, соответствующие элементам в контейнере.
Если логическое значение равно
True или 1, то элемент остаётся в последовательности, иначе — удаляется из нее.Лимит рекурсии
В Python иногда возникает
Но надо помнить, что делать это — опасное занятие, ибо каждый новый вызов занимает достаточно много памяти. В реальных проектах нужно стараться использовать не рекурсию, а обычные циклы.
В Python иногда возникает
RecursionError во время создания рекурсивных алгоритмов (даже при решении простых университетских задач), однако с помощью модуля sys можно изменить максимальную глубину рекурсии, чтобы избежать появления этой ошибки.Но надо помнить, что делать это — опасное занятие, ибо каждый новый вызов занимает достаточно много памяти. В реальных проектах нужно стараться использовать не рекурсию, а обычные циклы.
Генерируем QR-код
Необходимый пакет ставится командой
Программа с картинки создаёт QR-код, который при сканировании ведёт пользователя на сайт google, и сохраняет его в новую картинку.
Теперь вы можете генерировать QR-коды в своих приложениях. Полная документация по ссылке.
Необходимый пакет ставится командой
pip install qrcode. Также должна быть установлена библиотека
pillow.Программа с картинки создаёт QR-код, который при сканировании ведёт пользователя на сайт google, и сохраняет его в новую картинку.
Теперь вы можете генерировать QR-коды в своих приложениях. Полная документация по ссылке.
Проверяем скорость интернета
Speedtest — пакет от создателей того самого сайта для проверки скорости интернета прямо на Python.
У объекта класса
Методы отдают результат в байтах, поэтому для наглядности в примере данные переводятся в мегабайты при выводе. Документация, как всегда, по ссылке.
Speedtest — пакет от создателей того самого сайта для проверки скорости интернета прямо на Python.
У объекта класса
Speedtest методы download() и upload() выдают соответственно скорость скачивания и загрузки данных.Методы отдают результат в байтах, поэтому для наглядности в примере данные переводятся в мегабайты при выводе. Документация, как всегда, по ссылке.
Делаем скриншот в две строки
На картинке код, который делает скриншот и сохраняет его. Он будет сохранен в той же директории, откуда запущена программа. Помогает нам в работе замечательный пакет PyAutoGUI.
На картинке код, который делает скриншот и сохраняет его. Он будет сохранен в той же директории, откуда запущена программа. Помогает нам в работе замечательный пакет PyAutoGUI.
Получаем разрешение экрана
Рассмотрим ещё пару возможностей PyAutoGUI. С помощью
Библиотеку можно использовать как для тестирования своих приложений, так и для эмуляции действий пользователей и в целом автоматизации работы компьютера.
Рассмотрим ещё пару возможностей PyAutoGUI. С помощью
pyautogui.size() мы легко можем получить разрешение экрана, а метод pyautogui.moveTo() позволяет перенести курсор на указанную точку (в координатах x и y). Ещё один метод pyautogui.position() возвращает текущие координаты курсора мыши. Библиотеку можно использовать как для тестирования своих приложений, так и для эмуляции действий пользователей и в целом автоматизации работы компьютера.
Время выполнения кода
Часто приходится выбирать между многими вариантами кода. В принятии решения важную роль должна играть его производительность. Кроме первичного анализа по О-нотации можно измерить время выполнения.
На картинке с помощью модуля
Часто приходится выбирать между многими вариантами кода. В принятии решения важную роль должна играть его производительность. Кроме первичного анализа по О-нотации можно измерить время выполнения.
На картинке с помощью модуля
time мы сохраняем время старта куска кода, выполняем его, а затем узнаём конечное время и выводим разницу. Если будете использовать пример с картинки, вставьте свой код вместо комментария.📜 Как вывести список методов и атрибутов объекта x?
Anonymous Quiz
23%
help(x)
28%
info(x)
5%
?x
44%
dir(x)
Как можно более кратко представить запись с картинки сверху?
Anonymous Quiz
8%
A = Y if Z else Y
75%
A = Y if X else Z
5%
A = X if Z else Y
12%
A = X if Y else Z
Получаем информацию по IP
C помощью
Атрибуты
Установка возможна через пакетный менеджер
C помощью
ip2geotools можно получить геолокацию по IP из нескольких баз данных. Метод get из класса DbIpCity позволяет получить информацию по желаемому IP бесплатно. Атрибуты
city, region, country хранят информацию соответственно о городе, регионе и стране. Обратившись к атрибутам latitude и longitude, можно получить широту и долготу. Установка возможна через пакетный менеджер
pip. Документация доступна по ссылке.