Хочется добавить тип локальной переменной? Пора делать рефакторинг!

PEP 526 добавляет начиная с Python 3.6 опциональную возможность указать тип для локальной переменной. Это более стройная замена комментариям с указанием типа. Это хорошо, но есть одна ловушка: указывание типа в питоне может скрыть проблемы в коде.

more ...

Не используйте dict так часто

У разработчиков на Python наблюдается тенденция использовать дикты там где нужно и там где нет. В основном, это касается передачи данных внутри приложения в виде дикта, вместо создания объекта. Это плохой дизайн, который приводит к целому вороху проблем, самая страшная из которых - такой код невозможно читать.

more ...

mypy для проекта на Python 2.7

Аннотация типов может сильно помочь при работе над большим проектом на питоне: многие ошибки в дизайне и использовании функций выявляются практически сразу. Конечно для этого требуется использование внешний инструментов для статического анализа, таких как MyPy. Это великолепный инструмент, но он поддерживает третью ветку питона. Поддержка Python 2.7 в нем требует некоторой подготовки.

more ...

Свой итератор поверх enumerate

Пару дней назад коллега попросил сделать логгирующий сам себя итератор поверх enumerate. Я попробовал наследоваться напрямую и потерпел неудачу. Я абсолютно забыл как работает магический метод __new__. Поскольку я был занят, я пообещал себе разобраться с этой проблемой позже. А ларчик открывался очень просто. 18 строк кода и у меня появилась нужная функциональность.

more ...

7 лучших видео с PyCon 2016

За последние две недели я посмотрел все видео с PyCon 2016. В этот список я добавил 7 лучших выступлений по моему мнению. Я не стал включать ни одного мастер-класса, лайт-толка или кейноута: не они составляют самую интересную часть конференции. Не могу сказать, что остальные видео плохи. Нет. Но в них не достаточно градуса хардкорности или полезности.

more ...

c