Методы класса TestCase модуля Unittest. Автоматизированное тестирование в Python.

setUp Метод вызывается перед запуском каждого теста и позволяет избегать дублирования кода по созданию экземпляра тестируемого класса. Пример без setUp: Пример с setUp: Assert-методы Проверяют соответствие условию. Наиболее популярные: Метод Проверяет assertEqual(a, b) a == b assertNotEqual(a, b) a != b assertTrue(x) bool(x) is True assertFalse(x) bool(x) is False assertIs(a, b) a is b assertIsNot(a, b) a … Читать далее

Сортировка строки по длине, алфавиту и регистру

Задача из codewars: создайте функцию longer, которая принимает строку и сортирует содержащиеся в ней слова по их длине в порядке возрастания. Если есть два слова одинаковой длины, отсортируйте их по алфавиту. Для получения более подробной информации посмотрите примеры ниже. Предположим, что в качестве входных данных будут введены только алфавиты. Символы верхнего регистра имеют приоритет над символами нижнего регистра. То есть: … Читать далее

Виртуальные окружения

Если вы находитесь тут, но не знаете, зачем нужно виртуальное окружение — это странно. Рекомендую вооружиться гуглом и прочекать. В двух словах: для установки зависимостей (сторонних модулей и пакетов) непосредственно в проект, чтобы он был полностью независимым. Непосредственно в Python существует специальный модуль venv, который позволяет работать с виртуальным окружением. Основные команды: Операция \ ОС Windows … Читать далее

Основные команды PowerShell

Без знаний основ взаимодействия с оболочкой командной строки далеко не уехать. И раз вы здесь, вы это и так понимаете. Поэтому без лишней лирики сразу к делу! Командлет (псевдоним) Команда в *nix Команда в CMD.exe Описание Get-Location (pwd) pwd Выводит путь до текущего каталога Set-Location (cd) cd cd Меняет текущий каталог Get-ChildItem (ls) ls dir … Читать далее

List comprehension в Python

Это компактный способ создания списков с использованием одного выражения внутри квадратных скобок. Метод позволяет упростить создание списков путем применения выражения к каждому элементу последовательности (или другого итерируемого объекта) и добавления результата в новый список. Основной синтаксис list comprehension выглядит следующим образом: [выражение for элемент in итерируемый_объект if условие] Примеры: 1. Создание списка квадратов чисел:squares = … Читать далее

Бесплатное обучение Python в 2024 году

Python — многофункциональный, гибкий и синтаксически простой язык программирования, шикарно подходящий для новичков в сфере разработки, и даже для тех, кто про программирование почти ничего не слышал. С его помощью можно создавать веб приложения, сайты, чат боты (телеграм боты), игры, производить аналитику и обработку больших данных, применять в машинном обучении, создавать нейронные сети… Язык активно … Читать далее

Извлечение текста из изображения с помощью Python

Распознание и извлечение текста из графического файла- задача весьма нетривиальная и решается, конечно же, не без помощи нейронных сетей. Благо, в наше время новый велосипед на нейронных колесах придумывать совсем необязательно, и задачу можно решить за пару минут, использовав готовый модуль для оптического распознания символов на Python «EasyOCR». Для использования модуля необходимо его установить командой: … Читать далее

Модуль Selenium

Selenium — модуль управляющий браузером под пилотированием кода Python путем программной имитации действий кожаного пользователя на сайтах. Модуль предоставляет более гибкий функционал, нежели requests и bs4, а так же снижает вероятность того, что скрипт будет распознан и заблокирован при работе на сайтах с серьезной защитой, так как строка user-agent в HTTP запросе не будет содержать … Читать далее

Загрузка всех комиксов с сайта XKCD (веб-скрейпинг)

Скрипт является разработкой автора книги «Автоматизация рутинных задач с помощью Python» Эла Свейгарта, на примере которого он объясняет, что такое веб-скрейпинг (парсинг). Однако российские локализаторы, как это часто бывает, при переводе книги запороли код, а ссылка на файл, указанная автором книги, уже нерабочая. Поэтому выкладываю рабочую версию скрипта сюда. Суть этого небольшого проекта состоит в … Читать далее