Области видимости переменных в Python

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

more ...

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 ...

c