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

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

more ...

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

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

more ...

Как управляться с большими проектами на Python

На Hacker News появилась интересная дискуссия о том как управляться с большими Python проектами. Поскольку я причастен к достаточно большому проекту, то я не могу удержаться и не поделиться своим видением на этот вопрос. Я составил список из трех моментов на которые стоит обратить внимание.

more ...

Проект на Kivy. Часть 1. Настройка окружения

Kivy - интересный проект, который позволяет делать кроссплатформенные GUI приложения, включая мобильные. По слухам. Я решил выяснить можно ли использовать его для создания маленьких приложений на питоне. В этой серии статей я попробую поисследовать Kivy на примере клона "конструктора слов" - одного из упражнений для LingvoLeo.

more ...

Модификация параметров под args или kwargs

В Python достаточно часто интерфейсы функций частично или полностью "сворачивают" с помощью *args и **kwargs. Это вполне естественно для питонистов, но вызывает вопросы, при переходе с других языков. С самим "сворачиванием" никаких проблем нет. Сложности возникают при модификации аргументов: строятся проверки вокруг args и kwargs, вместо того, что бы "развернуть" интерфейс функции.

more ...

c