Рассмотрим справочные материалы, сгруппированные по уровню сложности и областям применения.
• The Python Tutorial. Официальное руководство по Python (). Рассматриваются все основы, предлагается «экскурсия» по языку и стандартной библиотеке. Рекомендуется для тех, кому нужно руководство по языку для быстрого старта.
• Python for Beginners. Руководство (/) предназначено для начинающих программистов. Подробно рассматриваются многие концепции Python. Вы научитесь продвинутым конструкциям Python вроде лямбда-выражений и регулярных выражений. Руководство заканчивается статьей How to access a MySQL db using Python («Как получить доступ к базе данных MySQL с помощью Python»).
• Learn Python. Это интерактивное руководство (/) — легкий способ познакомиться с Python. Использует подход, реализованный на популярном сайте Try Ruby, — этот ресурс представляет собой интерактивный интерпретатор Python, встроенный в сайт, что позволяет пройти все уроки, не устанавливая Python на своем компьютере.
• Python for You and Me. Эта книга (/) — отличный ресурс для изучения всех аспектов языка; подходит для всех, кто предпочитает учиться по традиционной книге, а не по руководству.
• Online Python Tutor. Сайт / предлагает визуальное пошаговое представление того, как работает ваша программа. Python Tutor помогает пользователям преодолеть фундаментальный барьер, мешающий изучению программирования, показывая, что происходит, когда компьютер выполняет каждую строку исходного кода.
• Invent Your Own Computer Games with Python. Книга (/) предназначена для тех, у кого нет опыта программирования. Каждая глава содержит исходный код игры, и эти примеры программ используются для демонстрации концепций программирования, что помогает читателю понять, как программы «выглядят».
• Hacking Secret Ciphers with Python. Книга (/) помогает новичкам освоить программирование на языке Python и шифрование. Содержит исходные коды разнообразных шифров, а также программы, которые могут их взломать.
• Learn Python the Hard Way. Отличное руководство по Python для начинающих (/). Рассматриваются многочисленные темы — от создания консольного приложения hello world до работы с Сетью.
• Crash into Python. Сайт /, также известный как Python for Programmers with 3 Hours, предлагает разработчикам, имеющим опыт работы с другими языками, экспресс-курс по Python.
• Dive Into Python 3. Эта книга (/) подходит для тех, кто готов окунуться в работу с Python 3. Она пригодится, если вы переходите с Python 2 на Python 3 или если у вас уже есть опыт программирования на других языках.
• Think Python: How to Think Like a Computer Scientist. Эта книга () пытается дать введение в основные концепции информатики с помощью языка Python. Идея создания этой книги заключается в том, чтобы предоставить книгу, содержащую множество упражнений, минимальное количество жаргонных выражений, а также раздел, посвященный отладке, в каждой главе. В ней рассматривается различная функциональность, доступная в Python, а также разные шаблоны проектирования и приемы хорошего тона.
Книга также включает несколько примеров, позволяющих читателю исследовать темы, рассмотренные в книге, более подробно, применив их к примерам из реального мира. Среди примеров вы можете найти разработку графического пользовательского интерфейса и Markov Analysis.
• Python Koans. Это онлайн-руководство () является версией для Python популярного инструмента Ruby Koans от Edgecase. Интерактивное руководство работает в командной строке, позволяет освоить базовые концепции Python с помощью тестов (): путем исправления операторов контроля, которые дают сбой в тестовом сценарии, студенты последовательно продвигаются в освоении Python.
Для тех, кто уже работал с языками программирования и разгадывал загадки самостоятельно, этот ресурс может показаться привлекательным. Новичкам в программировании может понадобиться еще один обучающий ресурс.
• A Byte of Python. Бесплатная вводная книга, которая обучает Python новичков (авторы подразумевают, что у читателей нет опыта программирования). Существуют отдельные версии для Python 2.x (/) и для Python 3.x (/)
• Learn to Program in Python with Codecademy. Этот курс Codecademy () предназначен для тех, кто раньше не работал с Python. Этот бесплатный интерактивный курс обучает основам (и выше) программирования на Python, при этом проверяя знания ученика по мере его продвижения по руководствам. В нем предоставляется встроенный интерпретатор, предназначенный для мгновенного получения обратной связи о вашей работе.
Effective Python. В книге (/) приводятся 59 способов повысить навык создания питонского кода. На 227 страницах представлен краткий обзор наиболее распространенных адаптаций, которые нужно выполнить для того, чтобы стать эффективным программистом Python среднего уровня.
• Pro Python. Книга ( 27575) предназначена для программистов Python среднего и продвинутого уровня, которые хотят понять, почему Python работает именно так, а не иначе, и как они могут перейти на новый уровень.
• Expert Python Programming. В этой книге () показываются лучшие приемы программирования для Python. Она предназначена для более продвинутых пользователей. Книга начинается с тем вроде декораторов (в качестве примеров приводятся реализация кэша, прокси и менеджера контекста), порядка разрешения методов, использования метода super() и метапрограммирования, а также с приемов хорошего тона, описанных в PEP 8.
В книге содержится подробный пример написания и выпуска пакета, который в итоге становится приложением, а также глава, посвященная использованию zc.buildout. Описываются правила хорошего тона вроде написания документации, разработки через тестирование, контроля версий, оптимизации и профилирования.
• A Guide to Python’s Magic Methods. Этот полезный ресурс () представляет собой коллекцию статей Рафе Кеттлера (Rafe Kettler), в которых объясняются «волшебные методы» Python. Они окружены двойными нижними подчеркиваниями (например, __init__) и могут заставлять классы и объекты вести себя «волшебным» образом.
• Effective Computation in Physics. Этот справочник Энтони Скопаца (Anthony Scopatz) и Кэтрин Д. Хафф (Kathryn D. Huff) () предназначен для аспирантов, начинающих использовать Python в области науки или инженерии. Включает в себя фрагменты кода, выполняющие поиск в файлах с помощью SED и AWK, а также содержит советы о том, как выполнить каждый шаг в цепи исследований — от сбора данных и анализа до публикации.
• A Primer on Scientific Programming with Python. В этой книге () Ханса Петтера Лангтангена (Hans Petter Langtangen) в основном рассматривается использование Python для науки. Примеры подобраны из области математики и физики.
• Numerical Methods in Engineering with Python. В этой книге () Яна Куисалааса (Jaan Kiusalaas) делается акцент на современных численных методах и их реализации в Python.
• Annotated Algorithms in Python: with Applications in Physics, Biology, and Finance. Эта книга ( 60401) Массимо Ди Пьерро (Massimo Di Pierro) является инструментом обучения, предназначенным для демонстрации использованных алгоритмов, которые реализуются наиболее прямолинейным образом.
• Problem Solving with Algorithms and Data Structures. В этой книге () рассматривается набор структур данных и алгоритмов. Все представленные концепции подкреплены кодом Python и интерактивными фрагментами кода, которые вы можете запустить непосредственно из браузера.
• Programming Collective Intelligence. В этой книге () приводится большое количество основных методов машинного обучения и дата майнинга. В ней допускаются некоторые вольности в том, что касается математической нотации. Она предназначена для того, чтобы объяснить логику, лежащую в основе этих методов, и показать способы реализации алгоритмов в Python.
• Transforming Code into Beautiful, Idiomatic Python. Видеоролик Реймонда Хеттингера (Raymond Hettinger) () продемонстрирует, как наиболее эффективно использовать функциональность Python и улучшить код с помощью нескольких трансформаций: «Когда вы видите это, сделайте то».
• Fullstack Python. Сайт / представляет собой полноценный ресурс, посвященный веб-разработке с помощью Python. Рассматривается широкий диапазон вопросов — от настройки веб-сервера до разработки фронтенда, а также выбор базы данных, оптимизация/масштабирование и многое другое. Из его названия следует, что на сайте вы можете узнать все, что нужно сделать, чтобы написать веб-приложение с нуля.
• Python in a Nutshell. В этой книге () рассматривается множество вопросов, связанных с кросс-платформенным использованием Python (от синтаксиса до встроенных библиотек), а также продвинутые темы вроде написания расширений на C.
• The Python Language Reference. Справочник по Python, доступный онлайн (), в котором рассматриваются синтаксис и основы семантики языка.
• Python Essential Reference. Эта книга (), написанная Дэвидом Бизли (David Beazley), представляет собой справочник по Python. В ней кратко объясняются основы языка и главные части стандартной библиотеки. В книге рассматриваются Python 3 и Python 2.6.
• Python Pocket Reference. Эта книга (), написанная Марком Лутцем (Mark Lutz), является простым справочником по основам языка, содержит описание наиболее часто используемых модулей и тулкитов. В книге рассматриваются Python 3 и Python 2.6.
• Python Cookbook. Эта книга (), написанная Дэвидом Бизли (David Beazley) и Брайаном К. Джонсом (Brian K. Jones), содержит рецепты для разработчиков Python. В ней рассматриваются основы языка, а также задачи, которые приходится решать для многих прикладных областей.
• Writing Idiomatic Python. Книга написана Джеффом Наппом (Jeff Knupp), содержит наиболее популярные и важные идиомы Python. Каждая идиома представлена в виде рекомендации использовать какой-нибудь распространенный фрагмент кода, за которой следует объяснение, почему эта идиома так важна. В книге также содержатся два фрагмента кода для каждой идиомы — «вредный» способ писать код и «идиоматический». Для Python 2.7.3+ ( 72177) и для Python 3.3+ () изданы разные версии книги.