В книге содержится подробный пример написания и выпуска пакета, который в итоге становится приложением, а также глава, посвященная использованию zc.buildout. Описываются правила хорошего тона вроде написания документации, разработки через тестирование, контроля версий, оптимизации и профилирования.
• A Guide to Python’s Magic Methods. Этот полезный ресурс (http://www.rafekettler.com/magicmethods.html) представляет собой коллекцию статей Рафе Кеттлера (Rafe Kettler), в которых объясняются «волшебные методы» Python. Они окружены двойными нижними подчеркиваниями (например, __init__) и могут заставлять классы и объекты вести себя «волшебным» образом.
Для инженеров и ученых
• Effective Computation in Physics. Этот справочник Энтони Скопаца (Anthony Scopatz) и Кэтрин Д. Хафф (Kathryn D. Huff) (http://bit.ly/effective-computation-in-physics) предназначен для аспирантов, начинающих использовать Python в области науки или инженерии. Включает в себя фрагменты кода, выполняющие поиск в файлах с помощью SED и AWK, а также содержит советы о том, как выполнить каждый шаг в цепи исследований — от сбора данных и анализа до публикации.
• A Primer on Scientific Programming with Python. В этой книге (http://bit.ly/primer-sci-pro-py) Ханса Петтера Лангтангена (Hans Petter Langtangen) в основном рассматривается использование Python для науки. Примеры подобраны из области математики и физики.
• Numerical Methods in Engineering with Python. В этой книге (http://bit.ly/numerical-methods-eng-py) Яна Куисалааса (Jaan Kiusalaas) делается акцент на современных численных методах и их реализации в Python.
• Annotated Algorithms in Python: with Applications in Physics, Biology, and Finance. Эта книга (http://amzn.com/0991160401) Массимо Ди Пьерро (Massimo Di Pierro) является инструментом обучения, предназначенным для демонстрации использованных алгоритмов, которые реализуются наиболее прямолинейным образом.
Дополнительные темы
• Problem Solving with Algorithms and Data Structures. В этой книге (http://www.interactivepython.org/courselib/static/pythonds/index.html) рассматривается набор структур данных и алгоритмов. Все представленные концепции подкреплены кодом Python и интерактивными фрагментами кода, которые вы можете запустить непосредственно из браузера.
• Programming Collective Intelligence. В этой книге (http://bit.ly/programming-collective-intelligence) приводится большое количество основных методов машинного обучения и дата майнинга. В ней допускаются некоторые вольности в том, что касается математической нотации. Она предназначена для того, чтобы объяснить логику, лежащую в основе этих методов, и показать способы реализации алгоритмов в Python.
• Transforming Code into Beautiful, Idiomatic Python. Видеоролик Реймонда Хеттингера (Raymond Hettinger) (http://bit.ly/hettinger-presentation) продемонстрирует, как наиболее эффективно использовать функциональность Python и улучшить код с помощью нескольких трансформаций: «Когда вы видите это, сделайте то».
• Fullstack Python. Сайт https://www.fullstackpython.com/ представляет собой полноценный ресурс, посвященный веб-разработке с помощью Python. Рассматривается широкий диапазон вопросов — от настройки веб-сервера до разработки фронтенда, а также выбор базы данных, оптимизация/масштабирование и многое другое. Из его названия следует, что на сайте вы можете узнать все, что нужно сделать, чтобы написать веб-приложение с нуля.
Справочный материал
• Python in a Nutshell. В этой книге (http://bit.ly/python-in-a-nutshell) рассматривается множество вопросов, связанных с кросс-платформенным использованием Python (от синтаксиса до встроенных библиотек), а также продвинутые темы вроде написания расширений на C.
• The Python Language Reference. Справочник по Python, доступный онлайн (http://docs.python.org/reference/index.html), в котором рассматриваются синтаксис и основы семантики языка.
• Python Essential Reference. Эта книга (http://www.dabeaz.com/per.html), написанная Дэвидом Бизли (David Beazley), представляет собой справочник по Python. В ней кратко объясняются основы языка и главные части стандартной библиотеки. В книге рассматриваются Python 3 и Python 2.6.
• Python Pocket Reference. Эта книга (http://bit.ly/python-pocket-reference), написанная Марком Лутцем (Mark Lutz), является простым справочником по основам языка, содержит описание наиболее часто используемых модулей и тулкитов. В книге рассматриваются Python 3 и Python 2.6.