07 апреля 2020

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

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

Хочешь уверенно проходить IT-интервью?

Готовься к IT-собеседованиям уверенно с AI-тренажёром T1!

Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще.

💡 Почему Т1 тренажёр — это мастхэв?

  • Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше
  • Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!".
  • Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях.

Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, но обещаем, что будешь готов!

Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy


Книги по 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. Вот три недавних публикации:

Комментарии

ВАКАНСИИ

Добавить вакансию
Golang-разработчик
Пермь, по итогам собеседования
Hotel Search Team Lead (Golang)
по итогам собеседования

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