Type Hinting в Python 3.5

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

more ...

Кастомные коллекции

Хорошо написанный код на Python должен работать с последовательностями однообразно. При этом не важно встроенные это последовательности или нет. Тем более, что свою последовательность написать в питоне очень просто. Нужно всего лишь переопределить __len__, __getitem__ что бы работа с вашей последовательностью в большинстве случаев не отличалась от работы со встроенными последовательностями.

more ...

Raymond Hettinger - Beyond PEP 8. Впечатления от доклада

Один из самых интересных докладов с PyCon 2015. Реймонд рассказывает о том, что соответствие кода PEP8 не обеспечит ни его правильность, ни читаемоть, ни "питонячность". Рекомендую всем, кто хоть раз пытался улучшить свой код приведением его к PEP8, а не пытался его переосмыслить, или заворачивал пулл-реквесты из-за того, что код не по PEP8.

more ...

Celery: Pickle от которого невозможно отказаться

Если вы решили поменять сериализатор задач для Celery с Pickle на какой-нибудь другой, ничего не выйдет. Вернее задачи действительно будут сериализоваться и десериализоваться с помощью указанного сериализатора. Но внутри Celery все равно используется Pickle и это никак не изменить. Вернее не в Celery, а в библиотеке billiard, которая используется мастер-процессом воркера для раздачи задач из очереди подпроцессам.

more ...

Декораторы с параметрами по умолчанию

Декораторы в питоне - удобный инструмент. Если ими пользоваться с умом, они значительно повышают читаемость кода и его повторное использование. Но есть один момент, который меня немного напрягает: для декоратора с параметрами по умолчанию нужно ставить пустые круглые скобки после его вызова. Время от времени, это приводит к ошибкам. Особенно это актуально, если декоратор является частью публичного API.

more ...

c