07 апреля 2020

ТОП-15 книг по Python: от новичка до профессионала

Пишу, перевожу и иллюстрирую IT-статьи. На proglib написал 140 материалов. Увлекаюсь Python, вебом и Data Science. Открыт к диалогу – ссылки на соцсети и мессенджеры: https://matyushkin.github.io/links/ Если понравился стиль изложения, упорядоченный список публикаций — https://github.com/matyushkin/lessons
Книги по Python (и связанным с ним специальным темам) на русском языке. Расставлены в порядке возрастания сложности, обобщены указанные читателями преимущества и недостатки.
ТОП-15 книг по Python: от новичка до профессионала

Книги по Python для начального уровня

Эрик Мэтиз. Изучаем Python. Программирование игр, визуализация данных, веб-приложения

<a href="https://www.ozon.ru/context/detail/id/166375074/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Мэтиз. Изучаем Python. Программирование игр, визуализация данных, веб-приложения</a>
Мэтиз. Изучаем Python. Программирование игр, визуализация данных, веб-приложения

Книга в оригинале в сообществе @progbook

Руководство по языку Python c многочисленными примерами, которые обучают шаблонам чистого кода. После освоения базы языка обучение продолжается на рабочих проектах с использованием известных библиотек: 1) аркадная игра в стиле Space Invaders (библиотека pygame), 2) интерактивная визуализация данных (библиотеки matplotlib и plotly) и 3) веб-приложение на Django.

Отмеченные читателями достоинства книги:

  • Рассмотрены многие аспекты использования языка.
  • Приятный стиль повествования, продуманная последовательность тем.
  • В конце каждой части есть задания для самостоятельного закрепления материала.
  • Интересные примеры.
  • Большие проекты разной направленности.

Недостатки:

  • Низкое качество бумаги, использованной для печати, мягкий переплет.
  • Есть проблемы с утраченными в результате перевода отступами в листингах программ (отступы являются важной особенностью языка Python).
  • Не везде точный перевод.
🐍 Библиотека питониста
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
🐍🎓 Библиотека собеса по Python
Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека собеса по Python»
🐍🧩 Библиотека задач по Python
Интересные задачи по Python для практики можно найти на нашем телеграм-канале «Библиотека задач по Python»

Пол Бэрри. Изучаем программирование на Python

<a href="https://www.ozon.ru/context/detail/id/141809676/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Бэрри. Изучаем программирование на Python</a>
Бэрри. Изучаем программирование на Python

Книга в сообществе @progbook

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

Достоинства:

  • Написана доступным языком для людей, которые никогда не программировали.
  • Хорошо изложен материал по объектно-ориентированному программированию.
  • Высокое качество печати, плотная бумага.

Недостатки:

  • Некоторые сведения могут быть уже нерелевантны (например, код в разделе про SQL).
  • Не хватает общего проекта, который бы постепенно обрастал новыми возможностями (как в других книгах серии Head First).

Марк Лутц. Изучаем Python

<a href="https://www.ozon.ru/context/detail/id/156082566/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Лутц. Изучаем Python</a>
Лутц. Изучаем Python

Классический учебник Python со всесторонним глубоким введением в язык программирования и для новичков в программировнии, и для профи. Основана на популярном учебном курсе Лутца. Учит писать эффективный качественный код.

Достоинства:

  • Классическая книга, суперподробное введение во все особенности Python.

Недостатки:

  • Стиль Лутца очень подробный, темп изложения неспешный – прочтение книги целиком потребует терпения.
  • Читатели жалуются на многочисленные опечатки и ухудшение качества перевода и печати в 5-м издании. Поэтому мы советуем по возможности пользоваться 4-м изданием. Там тоже рассматривается Python 3 версии, отличия последних версий можно впоследствии изучить по документации.

Билл Любанович. Простой Python. Современный стиль программирования

<a href="https://www.ozon.ru/context/detail/id/136792714/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Любанович. Простой Python. Современный стиль программирования</a>
Любанович. Простой Python. Современный стиль программирования

Книга в сообществе @progbook

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

Достоинства:

  • Доступное изложение материала.
  • Описаны современные технологии.

Недостатки:

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

Книги для среднего уровня владения Python

Дэн Бейдер. Чистый Python. Тонкости программирования для профи

<a href="https://www.ozon.ru/context/detail/id/146393762?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Чистый Python. Тонкости программирования для профи</a>
Чистый Python. Тонкости программирования для профи

Книга в сообществе @progbook

Словосочетание «для профи» – выдумка российских издателей. В оригинале книга называется Python tricks, то есть в ней собраны всякие «фишки», которые полезны тем, кто уже успел разобраться с основами языка и попрограммировать на Python. Для чтения достаточно базовых знаний языка. Особенно книга будет полезна тем, кто пришел в мир Python из других языков и некоторые мощные конструкции языка ускользнули от внимания.

Достоинства:

  • Раскрыты интересные тонкости и приемы с позиций их практического применения.

Недостатки:

  • Перевод неточен и оставляет желать лучшего. Будет полезно сверяться с оригиналом.

Лучано Рамальо. Python. К вершинам мастерства

<a href="https://www.ozon.ru/context/detail/id/139599468/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Рамальо Лучано. Python. К вершинам мастерства</a>
Рамальо Лучано. Python. К вершинам мастерства

Книга в сообществе @progbook

Простота Python помогает быстро повысить производительность труда, но зачастую она же означает, что вы используете далеко не все возможности языка. С помощью этого практического руководства вы узнаете, как писать эффективный и идиоматический код на Python, используя потрясающие, но зачастую незаслуженно забытые фичи Python.

Достоинства:

  • Учит делать код короче и понятнее.
  • Колоссальное количество примеров использования стандартной библиотеки.
  • Явным образом показывает преимущества Python 3.
  • Хороший экскурс в историю развития языка, дающий понимание, почему Python такой, какой он есть.
  • Описаны оптимальные примеры использования различных структур данных в Python.

Даг Хеллман. Стандартная библиотека Python 3. Справочник с примерами

<a href="https://www.ozon.ru/context/detail/id/136837954?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Хеллман. Стандартная библиотека Python 3. Справочник с примерами</a>
Хеллман. Стандартная библиотека Python 3. Справочник с примерами

Стандартная библиотека Python содержит сотни модулей, позволяющих взаимодействовать с операционной системой, интерпретатором и Интернетом. В этой книге Даг Хеллман описывает основные разделы библиотеки Python 3.x, сопровождая изложение материала компактными примерами исходного кода и результатами их выполнения. Приведенные примеры наглядно демонстрируют возможности каждого из модулей, предлагаемых библиотекой, и пригодны не только для изучения, но и для использования в реальном коде.

Достоинства:

  • Полнота изложения, дает ясное понимание применимости модулей.
  • Есть электронный вариант на сайте автора, откуда можно брать код примеров.

Недостатки:

  • Очень большой размер.
  • Встречаются опечатки.

Бизли и Джонс. Python. Книга рецептов

<a href="https://www.ozon.ru/context/detail/id/155445917/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Бизли и Джонс. Python. Книга рецептов</a>
Бизли и Джонс. Python. Книга рецептов

Оригинал 3-го издания в сообществе @progbook

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

Достоинства:

  • Книга состоит из множества примеров-кусочков кода с пояснениями. Можно последовательно запускать в интерпретаторе и проверять свое понимание.
  • Среди тем рассматриваются довольно непростые, например, метаклассы, декораторы, многопоточность, взаимодействие с С-библиотеками.

Гарри Персиваль. Python. Разработка на основе тестирования

<a href="https://www.ozon.ru/context/detail/id/145701673/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Персиваль. Python. Разработка на основе тестирования</a>
Персиваль. Python. Разработка на основе тестирования

Книга демонстрирует преимущества методологии разработки через тестирование (TDD). Вы научитесь писать и выполнять тесты для создания любого фрагмента вашего приложения и затем разрабатывать минимальный объем программного кода, необходимого для прохождения этих тестов. Рассказано, как работать с различными инструментами и фреймворками, такими как Django, Selenium, Git, jQuery и Mock. Издание предназначено для разработчиков, которые уже освоили начальный уровень программирования на Python и хотят перейти на следующий.

Достоинства:

  • Полнота и качество кода, хорошие разъяснения.
  • Последовательно описывается процесс разработки проекта через приемочные и модульные тесты, рефакторинг кода.

Книги Python для продвинутого уровня и специальные разделы

Мигель Гринберг. Разработка веб-приложений с использованием Flask на языке Python

<a href="https://www.ozon.ru/context/detail/id/135559040?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Гринберг. Разработка веб-приложений с использованием Flask на языке Python</a>
Гринберг. Разработка веб-приложений с использованием Flask на языке Python

Книга в оригинале в сообществе @progbook

Пошаговые примеры создания законченного приложения на Flask. Автор книги Мигель Гринберг знакомит с основными функциональными возможностями фреймворка и показывает, как расширять приложения дополнительными веб-технологиями.

Достоинства:

  • Доступное изложение.
  • Примеры из книги доступны в электронном виде (по ссылке).

Недостатки:

  • Мягкая обложка, книга легко закрывается.
  • Код книги постепенно устаревает, хотя принципы построения остаются в силе.

Андреас Мюллер и Сара Гвидо. Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными

<a href="https://www.ozon.ru/context/detail/id/140891479/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Мюллер, Гвидо. Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными</a>
Мюллер, Гвидо. Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными

Книга в сообществе @progbook

Полноцветная книга, источник информации для каждого, кто собирается использовать машинное обучение на практике. Подробно объясняются все этапы, необходимые для создания успешного проекта машинного обучения, с использованием языка Python и библиотек scikit-learn, NumPy и matplotlib. Авторы сосредоточили свое внимание исключительно на практических аспектах применения алгоритмов машинного обучения, оставив за рамками книги их математическое обоснование.

Достоинства:

  • Полноцветная книга, хорошее качество бумаги и иллюстраций.
  • С места в карьер: уже с введения приводится код.
  • Программный код доступен на GitHub.
  • Довольно простым языком рассказывается об алгоритмах машинного обучения, разбираются плюсы и минусы, области применения.

Недостатки:

  • Встречаются экземпляры книги с перевернутыми страницами или неправильно расположенными блоками страниц.
  • Мягкий переплет – не очень удобно одновременно работать за компьютером.
  • Без знаний о программировании и базовых знаний высшей математики книгу будет читать тяжело.

Дж. Вандер Плас. Python для сложных задач. Наука о данных и машинное обучение

<a href="https://www.ozon.ru/context/detail/id/142007330?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Python для сложных задач. Наука о данных и машинное обучение</a>
Python для сложных задач. Наука о данных и машинное обучение

Подробное руководство по вычислительным и статистическим методам для Data Science. Читатели, уже имеющие опыт программирования и желающие эффективно использовать Python в сфере Data Science, найдут в этой книге ответы на всевозможные вопросы, например: 1) как мне считать этот формат данных в мой скрипт? 2) Как преобразовать, очистить эти данные и манипулировать ими? 3) Как визуализировать данные такого типа? Как при помощи этих данных разобраться в ситуации, получить ответы на вопросы, построить статистические модели или реализовать машинное обучение?

Достоинства:

  • Системный рассказ о библиотеках, используемых для решения задач из области Data Science.
  • Большое количество примеров.
  • Хорошо дополняет соответствующие курсы Stepik, Coursera и др.

Недостатки:

  • Не затронута тема нейронных сетей.
  • Содержит ошибки в иллюстрациях и коде.
  • Несколько устарела (некоторые модули переименованы или перенесены).
  • Мало математического обоснования методов.

Франсуа Шолле. Глубокое обучение на Python

<a href="https://www.ozon.ru/context/detail/id/145615583?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Франсуа Шолле. Глубокое обучение на Python</a>
Франсуа Шолле. Глубокое обучение на Python

Книга в сообществе @progbook

Как упомянуто выше, книга Вандер Пласа не затрагивает темы нейронных сетей. Следующая книга подойдет для погружения в тему как нельзя лучше – ее написал Франсуа Шолле, один из создателей Keras – высокоуровневой оболочки для работы с нейросетевыми фреймворками.

Достоинства:

  • Вместо заторов математики – простой, понятный, рабочий код.
  • Последовательное изложение особенностей библиотеки Keras.
  • Книга развивает инженерный подход к работе с данными.
  • Честно рассказывается об ограничениях глубоких сетей.

Ян Эрик Солем. Программирование компьютерного зрения на Python

<a href="https://www.ozon.ru/context/detail/id/135933819/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Солем. Программирование компьютерного зрения на Python</a>
Солем. Программирование компьютерного зрения на Python

Книга в сообществе @progbook

Если вы хотите разобраться в основах теории и алгоритмов компьютерного зрения, то эта книга – как раз то, что нужно. Вы узнаете о методах распознавания объектов, трехмерной реконструкции, обработке стереоизображений, дополненной реальности и других приложениях компьютерного зрения. Изложение сопровождается понятными примерами на Python. Объяснения даются без погружения в сухую теорию. Издание подойдет для студентов, исследователей и энтузиастов-любителей с базовыми знаниями математики и навыками программирования.

Достоинства:

  • Понятная подача алгоритмов компьютерного зрения.
  • Много примеров.
  • Цветные иллюстрации.

Хуан Нуньес-Иглесиас и Штефан Ван дер Уолт. Элегантный SciPy

<a href="https://www.ozon.ru/context/detail/id/146721826/?partner=proglib&amp;utm_content=link" target="_blank" rel="noopener noreferrer nofollow">Нуньес-Иглесиас, Уолт. Элегантный SciPy</a>
Нуньес-Иглесиас, Уолт. Элегантный SciPy

На протяжении книги вы будете работать с примерами из обширной научной экосистемы Python, используя программный код, который иллюстрирует кратко очерченные принципы. Используя реальные научные данные, вы будете работать с практическими задачами вместе с SciPy, NumPy, pandas, scikit-image и другими библиотеками Python.

Достоинства:

  • Коротко и по делу, без лирических отступлений.
  • Примеры взяты из реальных научных работ: генетика, обработка изображений, радиолокация, биология, нейрофизиология.

Недостатки:

  • Преимущество конкретных примеров одновременно является и недостатком: требуется углубиться в описываемую область, чтобы точно понять пример.
  • Неаккуратное использование научной терминологии в переводе.
***

Если вы не увидели любимую книгу в списке, пожалуйста, не стесняйтесь порекомендовать ее в комментариях. Если вы читали перечисленные книги, дополните наши описания – какие преимущества и недостатки отметили бы вы.

Библиотека программиста любит язык Python. Вот три недавних публикации:

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Go-разработчик
по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ