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

Опубликовано 07 September 2015 в Python • Помечено python

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


Продолжить чтение

Type Hinting в Python 3.5

Опубликовано 31 August 2015 в Python • Помечено python, type-hinting

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


Продолжить чтение

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

Опубликовано 24 August 2015 в Python • Помечено python, коллекции

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


Продолжить чтение

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

Опубликовано 17 August 2015 в Python • Помечено python, pep8, видео

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


Продолжить чтение

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

Опубликовано 10 August 2015 в Python • Помечено celery, python, pickle

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


Продолжить чтение