IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Twitter

     18.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Внутренности Python: импорт в Питоне

Любая программа использует импорт модулей. Но, как показал беглый опрос, далеко не все программисты представляют, как работает импорт, что содержится в модуле и как этот импорт можно расширять для своих нужд.
...[Продолжение]

     18.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Полезные библиотеки: gensim - библиотека для моделирования над текстами

Gensim - библиотека Python для моделирования. А точнее, тематическое моделирование документов и извлечения подобия с больших корпусов.
Целевая аудитория - люди занимающиеся обработкой естественного языка (НЛП) и IR...[Продолжение]

     16.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Пишем web-проекты: Django Admin Actions

Интерфейс администратора Django достается разработчику "даром". Добавляешь немного строк кода и появляется UI где можно изменять объекты моделей. По умолчаниюю нам предоставляют GRUD возможности.
Но что если нам надо...[Продолжение]

     15.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Видео

Commit, ускоривший Python 2.7.11 на 30% и новое в Python 3.5

В мини-докладе пойдёт речь о коммите, ускорившим Python 2.7.11 на 30%, а также о некоторых нововведениях в Python 3.5: PEP 448 — Дополнительное обобщение распаковки, PEP 484 — Новый стандарт для аннотирования типов, PEP 492 — Сопрограммы с использованием async и await.

     15.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Опыт разработчиков: assert как средство для валидации

Хочется сегодня осветить такой элемент синтаксиса как assert.
assert - это специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы.
Какая же...[Продолжение]

     14.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Статьи

Работа с данными среднего размера в Python. Pandas и Seaborn

Когда много работаешь с данными, нужно часто строить графики и делать разными преобразования над таблицами. Важно научиться делать это быстро и минимально напрягая мозг. Дело в том, что анализ данных во многом заключается в придумывании и проверке гипотез. Придумывать, конечно, интереснее, чем проверять. Но делать нужно и то и другое. Хорошие инструменты в тренированных руках помогают тратить на техническую работу минимальное количество времени и интеллектуальной энергии.

Я попробовал много инструментов: Excel, Python+Matplotlib, R+ggplot, Python+ggplot, и остановился на связке Python+Pandas+Seaborn. Решил с их использованием уже много задач и хотел бы поделиться наблюдениями.

     14.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Синтаксис Python: работа с матрицами

Матрица - это, если утрировать, "табличка", N-мерный массив (чаще всего двумерный).
Матрицы возникают не редко. Например, игровое поле, карта мира - тоже можно представить матрицей, да то же решето Эратосфена - тоже...[Продолжение]

     14.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Учебные материалы: книга "Программируем коллективный разум"

Книга "Программируем коллективный разум" - это введение в мир машинного обучения и статистики. В ней объясняется, как делать полезные с точки зрения маркетинга выводы о поведении и предпочтениях пользователей на основе...[Продолжение]

     13.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Статьи

Группируем одинаковые приложения из разных магазинов по иконке

Однажды случилось мне несчастье обратить свой взор на одну заманчивую вакансию. Все бы ничего, но, как обычно, подкинули тестовое задание. Если кратко, то нужно было сгруппировать ссылки на одно и тоже приложение в разных маркетах. По ссылкам были такие приложения как Skype, Skype WiFi, Skype Qik, Viber, и две игры с одинаковым названием Skyward. Среди магазинов были Google Play, App Store и маркет Windows Phone. В задании было так же описание граблей, мол, не надо особо привязываться на названия приложений, название компании разработчика и т.д. «Но ведь одинаковые приложения легко узнаваемы на разных платформах тупо по иконке» — подумал я, и полез выяснять детали. Но не все так просто.

     12.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Статьи

Snaql. Raw SQL в Python-проектах

Рассматривая стек Luminus, я наткнулся на простую и в то же время шикарную, на мой вкус, библиотеку Yesql для организации SQL-запросов в проекте на Clojure и я не увидел чего-то похожего для Python (может плохо искал). Идея этой библиотеки простая — не морочьте себе голову, используйте обычные SQL-запросы, у вас есть возможность именования этих запросов и мапинга на соответствующие динамические функции. Всё это выглядит как набор микро-шаблонов с SQL и их рендер по какому-то контексту. Просто, эффективно, хочу такое у себя в проекте на Python.
 

     13.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Колонка автора

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

При работе над Python Дайджестом - http://pythondigest.ru/ ">http://pythondigest.ru/ а именно при работе над "Колонкой автора"...[Продолжение]

     11.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Статьи

Скачивание музыки из VK, используя VK api и Python3

Ещё совсем недавно было первое июня, а тут уже первое сентября. Осень на дворе.

Да, недавно тоже так отвернулся, а очнулся — Mail поглотил VK. И началось: видео без рекламы не посмотришь, музыку не послушаешь — запретили правообладатели. Ходят слухи, что вообще запретят. Почуял неладное. А тут как раз такое время года. Вот и подумал, а почему бы мне не собрать свои запасы? Законсервирую свою музыку на своём компе, перекину на диск — слаще любого варенья будет! А поможет мне в этом, как не странно, сам ВК, а точнее — его api. А ещё третий python, встроенная библиотека urllib и библиотека по работе с данным в формате json.

     10.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Статьи

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 3

В предыдущих статьях мы говорили о том, что такое событийно-ориентированная система бэктестинга, разобрали иерархию классов, которую необходимо для нее разработать, и обсудили то, как подобные системы используют рыночные данные в контексте исторического тестирования и для «живой» работы на бирже.

Сегодня мы опишем объект NaivePortfolio, который отвечает за отслеживание позиций в портфолио и на основе поступающих сигналов генерирует приказы с ограниченным количеством акций.

     10.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Конференции, события, встречи разработчиков

PYCON RUSSIA 2015: финальное расписание

18-19 сентября в Екатеринбурге пройдет одно из самых ярких событий python-сообщества — конференция PYCON RUSSIA. 21 доклад от ведущих python-разработчиков из США, Франции, Германии, Чехии, Украины и России, два мастер-класса, Lightning Talks — и это только в официальной части. У вас есть еще неделя, чтобы посмотреть на программу этого года, купить билет и приехать в Екатеринбург. Все подробности ниже. 

     10.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Статьи

Старый новый pywinauto: автоматизация Windows GUI на Python на примере install/uninstall

Однажды, в процессе поиска инструмента для автоматизации GUI тестирования, мне попался интересный питоновский пакет pywinauto. И хотя он поддерживает только нативные контролы и частично Windows Forms, для наших задач он вполне подошёл. История pywinauto берёт своё начало где-то в районе 1998 года, когда Mark McMahon написал для своих нужд GUI Automation утилиту на языке C (на это потребовалось года два), а затем, уже в 2005-м, переписал её на Python за три месяца. Мощь питона проявила себя во всей красе: интерфейс pywinauto получился простым и выразительным. Инструмент активно развивался с 2006 по 2010. В годы затишья, в 2011-2012 добрый человек moden-py написал GUI helper для просмотра иерархии окон и генерации pywinauto кода под названием SWAPY. Тем временем мир менялся. Наша команда перешла на 64-битные бинарники, и клон pywinauto заработал на 64-битном Python. В основной ветке проект не развивался четыре года и порядком устарел. В 2015 году с согласия Марка удалось вдохнуть в проект новую жизнь. Теперь pywinauto официально живёт на гитхабе, а во многом благодаря камраду airelil модульные тесты бегают на CI сервере AppVeyor. 

     10.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Колонка автора

Hardcore Python: Конкурентность в Питоне с нуля. Вживую

http://www.youtube.com/watch?v=ys8lW8eQaJQ">http://www.youtube.com/watch">http://www.youtube.com/watch?v=ys8lW8eQaJQ

     09.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Колонка автора

Полезные библиотеки: funcy - набор конструкций, которые упрощают код

Есть ряд модулей, которые стоит ставить первыми. Этот набор у каждого свой.
В моем наборе есть место для funcy.
funcy - это набор мелких полезностей при работе с данными.
Например, можно создать бесконечный список,...[Продолжение]

     09.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Колонка автора

Извлечение информации: скачиваем список ссылок с помощью asyncio

Порой возникают рутинные задачи, которые не хочется делать руками. Примером такой задачи может являться - скачать множество страниц по ссылкам. Если 5 ссылок еще вручную сохранить можно, а если их 1000? или 6250, как было в моем случае....[Продолжение]

     08.09.2015       Выпуск 90 (07.09.2015 - 13.09.2015)       Статьи

Программа-помощник для освоения слепой печати на клавиатуре в Linux

Хочу показать и рассказать о небольшой программке, которая принесла пользу.

Однажды на работе мне написал друг. Диалог у нас состоялся примерно следующий:
— Привет, я тут обучаюсь технике слепой печати. Дело в том, что на линуксе нет программки, которая могла бы мне помочь. В общем, может ты сможешь быстренько написать такую?

Так как помочь другу — святое дело, да и задача выглядела интересной, помочь я согласился. В итоге получилось вот что: Кому интересно, подробности ниже