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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     26.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Колонка автора

Таинство стандартной библиотеки: timeit - измерим время работы!

Представим мы придумали алгоритм, на пальцах оценили его быстродействие, закодили и получили медленно работающий софт. Что делать? куда бежать? С чего стоит начать? Да сначала стоит измерить сколько ресурсов (память, время, проц) кушает ваш софт. Уже имея числа на руках можно думать дальше. Для измерения временных затрат для вашего кода можно воспользоваться библиотекой timeit. А другие ресурсы измерим в след. раз. Она позволяет измерить время работы куска кода программы:

     26.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Колонка автора

Математика в Python: Матрицы в NumPy

Списки - встроенный тип Python, могут содержать любые элементы: целые, дробные числа, строки, объекты. Это великая сила Python, но в то же время и слабость — в отношении скорости работы. В стандартные дистрибутивы Python входит модуль array, реализующий аналог массивов C/C++, он может пригодиться для простейших расчётов с многомерными массивами, матрицами. NumPy — мощнейшая библиотека для научных вычислений. Написать здесь операции с матрицами так же просто, как и с обычными числами. Матрица в NumPy — это объект numpy.array, массив чисел одного типа, какой угодно размерности: 0 (одно число, скаляр), 1 (вектор), 2 (матрица), 3 (тензор третьего ранга)...

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Колонка автора

Учебные материалы: Что нового в Python 3.5

Когда полезны аннотации типов? Станет ли асинхронное программирование обычной практикой с новыми async-await? Устроим обсуждение этих и других новинок Python 3.5. Все это вы сможете узнаете в докладе Андрея Власовских

https://www.youtube.com/watch?v=2GuTQwBYsgI

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Интересные проекты, инструменты, библиотеки

torrentool — работа с торрентами и bencode из Python

Анонс torrentool 0.1.0 — нового инструмента для манипуляций над .torrent-файлами и не только.

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

10 приложений для изучения Python на Android-устройствах

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

В процессе изучения языка программирования, в частности Python, я считаю, что нужна погружаться в него полностью. Лозунг: «Ни дня без кода!» я дополняю, ну если ни кодить, то хотя бы почитать об этом. Для того чтобы не выходить из ритма в условиях, когда нужно в жизни сделать многое, но некогда, а хотелось бы учить Python, мобильный приложения помогут не тратить зря время в транспорте, во время ожиданий и т.д.Предлагаю список приложений из Google Play для изучения Python на Android-устройствах, которые помогут не только получить знания, но и проверить свой уровень по Python.Три из ниже перечисленных приложений я обязательно советую студентам при изучении Python: Learn Python, Quiz&Learn Python и Python Challenge. Ну теперь подробнее.

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Колонка автора

Таинство стандартной библиотеки: .pyi файлы - python stubs

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

Появился модуль typing, который в 3.5 есть по умолчанию, а начиная с 3.2 можно установить с PyPi Но что делать с кодом на 2.7? Хочется же больше ошибок вылавливать. Здесь на пользу приходят python stubs - .pyiфайлы.

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи
     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи
     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

Генерация тестов

При тестировании приложения постоянно надо придумывать граничные условия и на них проверять. Но такой подход ресурсо-затратный. В этой статье вы найдете пример генерации тестов в автоматическом режиме.

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

Введение в машинное обучение на Python

В туториале вы найдете базовые основы машинного обучения, небольшие примеры, термины 

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

Анализ обложек Time за 91 года

В посте вы найдете анализ обложек журнала Time на предмет поиска зависимостей и закономерностей

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

Python объекты и классы - наглядное руководство

В посте вы найдете руководства по методам и классам. Узнаете почему же Python это ОО язык

     22.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

Celery: лучшие практики

Если вы работаете с Django, то на некотором этапе разработке вам может понадобиться фоновая обработка долго выполняющихся задач. Возможно, что для такого рода задач вы используете какой-либо инструмент для управления очередями задач. Celery — один из самых популярных проектов для решения подобных задач в мире python и Django на данный момент, но есть и другие проекты для этой цели. 

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

     22.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

Поиск картинок-дубликатов Python

Статья описывает алгоритм поиска дубликатов среди картинок. Там же вы сможете найти рабочий код.

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Релизы

pymongo - 2.9

Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#2.9. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/

     22.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Колонка автора

Интересные концепции: утиная типизация

Слышали фразу: "Если что-то выглядит как утка, плавает как утка и крякает как утка, то, вероятно, это утка"? Эта поговорка характеризует утиную типизацию == утипизацию

Смысл утиной типизации заключается в ослаблении типов. Вместо того чтобы заботиться о точном классе объекта мы заботимся о том какие методы для него можно вызвать и какие операции над ним можно выполнять. Таким образом, обычным делом становится просто передать объект методу, зная, что при неправильном использовании будет выброшено исключение (exception).

     22.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Релизы

aiohttp - 0.18.1

http клиент/сервер для asyncio. Изменения описаны по ссылке https://allmychanges.com/p/python/aiohttp/#0.18.1. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp/

     22.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

Проигрываем список WAV файлов с помощью PyAudio

В статье вы найдете полный код для проигрывания WAV файлов на Python

     21.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Колонка автора

Учебные материалы: познаем Django

Django - web-фреймворк. Обладает отличной документацией, которую можно читать долго и упорно. Есть даже тутроиал по созданию блога. Вот только есть "минус" - проходишь туториал с блогом и не знаешь где еще добыть структурированной информации. Да еще и актуальной.