Тесты тесты тесты: пропускаем тесты в pytest по условию

Тесты не всегда универсальны. Например, в Windows надо дергать одну программу, в Linux другую. Чтобы реализовать такую логику в pytest можно воспользоваться - skipif

import sys
@pytest.mark.skipif(sys.version_info < (3,3), reason="requires python3.3")
def test_function():
...

Вот такой пример демонстрирует как можно пропустить тест, если запуск происходит в Python версии ниже 3.3.

more ...

Установка библиотек в Python

Репозиторий pypi содержит более 62к модулей. Такое количество готовых инструментов, в дополнение к богатой стандартной поставке, позволяет заметно упростить разработку новых проектов. Вот только новички сталкиваются с проблемой установки этих самых модулей.

Стандартным способом установки новых модулей является pip (и easy_install). pip https://pip.pypa.io/en/latest/index.html это инструмент, который упрощает управление модулями.

Вы можете установить модуль ...

more ...

Магические методы в Python

Статья от Rafe Kettler.

Что такое магические методы? Они всё в объектно-ориентированном Питоне. Это специальные методы, с помощью которых вы можете добавить в ваши классы «магию». Они всегда обрамлены двумя нижними подчеркиваниями (например, init или lt). Ещё, они не так хорошо документированны, как хотелось бы. Все магические методы описаны в документации, но весьма беспорядочно и почти безо всякой организации. Поэтому ...

more ...

Таинство стандартной библиотеки: collections

Модуль collections - предоставляет специализированные типы данных, на основе словарей, кортежей, множеств, списков. Этот модуль хорошо себя показывает при частой работе со словарями и списками. Например, данный модуль предоставляет возможность посчитать n наиболее часто встречающихся элементов, в порядке убывания встречаемости. Есть в этом модуле и словарь, который помнит порядок ключей. А еще есть структура, которая позволяет создать объект ведущий себя как ...

more ...

Таинство стандартной библиотеки: datetime и calendar

Стандартная поставка Python содержит множество инструментов для решения задач. Например, для работы с датами отлично себя показывают datetime и calendar

Модуль datetime предоставляет классы для обработки времени и даты разными способами. Поддерживается и стандартный способ представления времени, однако больший упор сделан на простоту манипулирования датой, временем и их частями.

Модуль calendar позволяет напечатать себе календарик (а также содержит некоторые другие ...

more ...

Python и real-time web приложение

Далеко не всегда требуется тащить мощный Django или другой фреймворк. Бывает достаточно небольшого количества чистого Python кода и базы данных. Посмотрим, как имея всего эти 2 элемента написать приложение.

more ...

Python + GUI == PyQt

Qt - это инструментарий для разработки на C++, который предоставляет огромный спектр возможностей: от рисования GUI, до написания низкоуровневых серверов. Часто Qt применяют для создания GUI, в том числе в интерактивном режиме - можно перемещать виджеты на формы. Qt имеет отличную докумементацию, а также имеет привязку для Python - PyQt и PySide. (вторая еще с Qt5 не умеет работать)

Используя PyQt можно нарисовать ...

more ...

Python как средство для определения "хорошо/плохо"

Информации очень много. Хорошо бы уметь ее фильтровать. Хочется упомянуть такое средство фильтрации как анализ тональности. Это даже не фильтрация, но можно применять как фильтр.

Sentiment analysis (по-русски, анализ тональности) — это область компьютерной лингвистики, которая занимается изучением мнений и эмоций в текстовых документах.

С помощью анализа тональности можно определить, что текст N интересный, а текст M неинтересный - причем это сделает ...

more ...

Утилиты написанные на Python: youtube-dl

youtube-dl (https://github.com/rg3/youtube-dl/) - это очень популярный скрипт для выгрузки видео с сервиса Youtube (, Vimeo и других). Данная утилита позволяет очень легко выдернуть видео со страницы ютьюб. Множество настроек позволяют в том числе выдернуть субтитры, узнать длительность видео и многие другие параметры.

Данную утилиту можно применить следующим образом: если у вас есть ряд каналов, которые вы смотрите регулярно ...

more ...

Что такое PEP?

Развитие языка Python происходит согласно чётко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP. PEP - Python Enhancement Proposal - это предложения по развитию питона https://www.python.org/dev/peps/ Процесс PEP является основным механизмом для предложения новых возможностей и для документирования проектных решений, которые прошли в Python.

Самым известным PEP является PEP8 - это свод рекомендаций в оформлению кода. Рекомендации ...

more ...