Лучшие книги по Python 2021-2022 года: для новичков и профи
Есть мнение, что люди начали читать меньше и всё чаще многие потребляют уже готовый контент в виде роликов на YouTube или сокращённых вариантов различных произведений. Но это вряд ли, ведь если бы люди не читали книги, могли бы тогда развиваться отечественные и зарубежные сервисы для любителей чтения? К примеру, LitRes, Bookmate и другие.
И да, в IT-команде Сбера много книголюбов с самыми разными предпочтениями. А поскольку мы на Хабре, то поговорим сегодня о технической литературе. Точнее, о Python и лучших книгах по этому языку для профи, программистов среднего уровня и начинающих. Подборка ― уже под катом.
В помощь начинающим
Среди нас много тех, кто только начал свой путь в изучении Python. И это круто, ведь столько всего нового ещё предстоит узнать! Благо, есть немало книг для новичков в мире Python.
Марк Лутц «Изучаем Python»
В нашей команде есть те, кто считают эту книгу must have для разработчиков, и это вполне справедливо, ведь она в доступном виде показывает особенности Python и преимущества языка. Автор действительно постарался, так что книга получилась полезной, с теорией и большим количеством практического контента.
Преимущества:
- Техническая литература отличается от художественной (побудем тут капитанами). Некоторые моменты не так легко запомнить, поэтому авторы в конце каждого раздела приводят своеобразное «домашнее задание». Это вопросы по прочитанному разделу плюс практические упражнения.
- Благодаря тому, что автор не наливал «воду», в книге коротко и весьма понятно объясняется, что такое типы объектов, функции, модули, есть подробный рассказ об инструментарии языка. Сказать, что автор ответил на всё, нельзя, но на очень многое ― точно.
- О популярности книги и качестве изложения свидетельствует то, что она постоянно переиздаётся. Как только накапливается критический объём обновлений языка ― автор выпускает новую версию.
Недостатки:
- Практически нет, единственное ― в русскоязычных изданиях последнего времени появилось довольно много опечаток, так что будьте внимательны к примерам. Лучший способ выйти из положения ― читать на английском.
Эрик Мэтиз «Изучаем Python. Программирование игр, визуализация данных, веб-приложения»
Ещё одна отличная книга для начинающих. Есть как российская, так и оригинальная англоязычная версии. Как и в книге, о которой мы рассказывали выше, здесь представлена и теория, и практика. Причём, что логично, вначале идёт объяснение, после чего читатель волен проверить всё на практике. В целом, отличная книга, но было бы ещё интересно услышать и мнение пользователей Хабра.
Преимущества:
- Автор неплохо объясняет, в русскоязычном варианте есть хороший перевод, так что можете быть уверены в том, что книга действительно поможет разобраться в сложностях и нюансах языка.
- Автор не забрасывает техническими терминами, понимая, что книгу будут читать новички, объяснение ведётся по веками проверенной схеме ― от простого к сложному.
- Даётся интересное «домашнее задание», которое необходимо выполнять по примерам и объяснениям текущей главы или раздела.
- Книга не скучная: в ней есть множество нюансов, которые могут увлечь любознательного новичка.
Недостатки:
- Как и в предыдущем случае, их почти нет. Иногда есть опечатки, не совсем корректный перевод, но таких случаев, к счастью, немного.
Эл Свейгарт «Автоматизация рутинных задач с помощью Python. Практическое руководство для начинающих»
Важная книга для тех, кто решил облегчить себе жизнь, поставив на службу Python и собственные мозговые извилины. Один из лучших вариантов ― это как раз Эл Свейгарт, который весьма неплохо всё объясняет по поводу автоматизации рутинных задач. Это здорово экономит время как разработчика, так и компании, в которой он работает. Время, как известно, ― деньги, так что книга поможет заработать, прямо или косвенно.
Достоинства:
- Большое количество кейсов из личного опыта автора.
- То, что показано в книге, может пригодиться в любой момент, ненужной информации практически нет.
Недостатки:
- Если есть, то расскажите о них, мы не обнаружили.
Майкл Доусон «Программируем на Python»
Ещё одна отличная книга для начинающих, которая вместе с остальными, предложенными выше, действительно может многому научить. А почему? А потому, что в книге автор использует проверенный приём для привлечения читателей из мира технологий ― он приводит в основном кейсы из разработки игр.
Судя по отзывам, многим читателям книга, что называется, «зашла», положительных рецензий очень много. В книге 12 глав, в каждой из них разбирается минимум одна игра. В трёх последних главах описываются графические интерфейсы, графика, звук и анимация.
Ну и плюс подход у автора весьма оригинальный ― даже вместо Hello World он предлагает печатать Game Over.
Преимущества:
- Всё рассказывается с практической точки зрения, так что если вы уже знакомы с теорией, можно сразу же приступать к чтению.
- В книге отлично объясняется, как работает язык и что он может, несмотря на то, что большинство кейсов показываются на примере игр.
Недостатки:
- Их в целом нет, если не считать то, что не каждый разработчик мечтает о создании игр. Ну а поскольку в книге практически нет других кейсов, то стоит взвесить все за и против перед приобретением книги.
Книги для среднего уровня
Дэн Бейдер «Чистый Python. Тонкости программирования для профи»
Книгу рекомендуем читать в оригинале, поскольку уже с перевода названия начинаются неточности. Оригинальное название ― Python tricks, там про «профи» ничего нет. Ну и содержимое предназначено для разработчиков среднего уровня. Профи тоже могут найти что-то полезное для себя, но в основном это всё же материал для программистов, которые уже не новички, но ещё и не профи.
Преимущества:
- Практически всё содержимое книги может оказаться крайне полезным разработчику в той или иной ситуации. Те самые tricks приводятся из практики самого автора, и они реально нужны. Для того чтобы понимать написанное, достаточно уметь разбираться с основами языка, имея относительно небольшой опыт разработки.
Недостатки:
- Неточность перевода, поэтому повторим совет: если знаете английский, то книгу рекомендуем читать в оригинале.
Бизли и Джонс «Python. Книга рецептов»
В книге раскрываются многие нюансы, которые нужны разработчикам если не каждый день, то частенько. В частности, авторы приводят рецепты, которые охватывают разные темы языка, плюс практические задачи, у которых весьма обширный спектр применения. Вместе с теорией авторы приводят и практику, то есть примеры кода, которые помогают понять, что к чему.
Преимущества:
- В относительно простой форме подан сложный материал, который можно быстро усвоить как раз благодаря подаче.
- Есть примеры ― участки кода с пояснениями, с которыми можно работать самостоятельно.
Недостатки:
Гарри Персиваль «Python. Разработка на основе тестирования»
Одна из лучших книг, которая есть в библиотеке многих программистов. В ней раскрываются нюансы методологии разработки через тестирование (TDD). Читателю рассказывают о том, как писать и выполнять тесты для создания практически любого участка приложения. Также автор показывает, как разрабатывать минимальный объём программного кода, требуемого для прохождения тестов.
В целом, книга по сложности описываемых моментов ближе к начальному уровню. Так что её можно считать важной для тех, кто уже не новичок, но ещё и не особо опытный разработчик, как-то так.
Преимущества:
- Автор даёт практические знания, в частности учит работать с разными инструментами и фреймворками, включая Django, Selenium, Git, jQuery и Mock.
Недостатки:
Книги для профи
Дж. Вандер Плас «Python для сложных задач. Наука о данных и машинное обучение»
В этой книге уже рассматриваются весьма сложные и объёмные задачи, которые довольно часто встречаются профессионалам в ходе работы. Издание представляет собой руководство по вычислительным и статистическим методам для Data Science. Идеально подходит для разработчиков, у которых уже есть неплохой опыт, а также для тех, кто желает усилить опыт и знания в Data Science.
Автор уделяет особое внимание работе с данными разных типов, включая анализ ситуации, получение ответов, создание статистических моделей и машинное обучение.
Достоинства:
- В книге много практических примеров, включая считывание разных форматов в скрипт, преобразование, очистку данных и манипуляцию ими, визуализацию данных определённого типа.
Недостатки:
- Нет, или мы не смогли их найти.
Ян Эрик Солем «Программирование компьютерного зрения на Python»
Ещё одна крутая книга, которая заточена на решение специфических задач, а именно ― компьютерного зрения. Она открывает перед разработчиком новый мир, полный методов распознавания объектов, трёхмерной реконструкции, обработки стереоизображений, AR, VR и других нужных и важных технологий.
Достоинства:
- Большое количество практических примеров, которые увязывают в единое целое теорию и практику.
Недостатки:
- Как и в предыдущем случае, мы не смогли их обнаружить.
В целом, на этом всё. Если у вас есть любимые книги по Python, которые не попали в подборку, то кидайте в комментариях название и автора, обсудим! Кроме того, если читали что-то из того, что в подборку попало, давайте тоже поговорим, ведь мнения могут быть очень разными, а в дискуссии можно выяснить много полезного для себя.
7 полезных книг по Python для старта и развития
Попросили коллег порекомендовать книги по изучению Python и собрали подборку. Пригодится и начинающим, и опытным специалистам.
«Изучаем Python»
Автор: Марк Лутц
Уровень: первый том — для начинающих, второй том — для продвинутых
Бесконечно подробный в вопросах Python справочник. Это и плюс, и минус, но лучшего справочника просто нет.
«Изучаем Python» — это два тома технических подробностей и качественных примеров.
Первый том знакомит с основными конструкциями, парадигмами и модулями.
- Типы и операции — объекты в Python, основные типы и структуры данных.
- Операторы и синтаксис — основные операторы (присваивания, выражений, вывода) и основные конструкции (условия, циклы).
- Функции и генераторы — общая теория про часто-используемые функции, области видимости, генераторы и включения.
- Модули и пакеты — основные сведения, чек-лист по написанию собственных модулей (на Python).
Второй том полезен для продвинутых. Повествование начинается с объектно-ориентированного программирования и заканчивается на теме метаклассов.
- Классы и объектно-ориентированное программирование — общая теория, детали в реализации классов, перегрузка операций и другое.
- Исключения и инструменты — общая теория, детали обработки исключений, объекты исключений, проектирование с использованием исключений.
- Более сложные темы — Unicode и байтовые строки, управляемые атрибуты, декораторы, метаклассы.
Есть издание, объединяющее в себе два тома. Хотите системно изучить Python — вперед. Но запаситесь терпением: это хоть и структурированный, но сложный в восприятии учебник.
Где купить или скачать
Книгу можно приобрести на сайте издательства. На данный момент заказать оригинальную бумажную версию из-за рубежа проблематично. Однако эту же книгу можно купить во многих книжных магазинах.
«Python для сетевых инженеров»
Автор: Наталья Самойленко
Уровень: начинающие
Хорошая база с некоторыми тонкостями и рекомендациями по дальнейшему обучению. Полезна сетевым инженерам, которые плохо знают Python.
В книге также описаны основы Python, но среди остальных выделяется интересной подачей — ориентирована на сетевых инженеров и на работу со специальным оборудованием.
Отдельное внимание автор уделила работе с базами данных. Есть целый раздел про SQL, SQLite, модуль sqlite3, а после него — практикум на закрепление материала.
Кроме специфических разделов в книге описаны модули для веб-программистов. Например, про шаблонизатор веб-страниц Jinja.
Где купить или скачать
Это бесплатный учебник, он доступен на сайте.
Присоединяйтесь к команде Selectel
Ищем единомышленников, чтобы делать команды и процессы еще круче.
«Простой Python. Современный стиль программирования»
Автор: Билл Любанович
Уровень: начинающие
Если сравнивать с трудами Лутца, у книги идеальный размер: 350 страниц против 1600. Нет перегруза листингами с кодом, все примеры очень простые для понимания.
Эта книга для тех, кто только начинает изучать как программирование, так и сам Python. В основе — самые базовые разделы про типы данных, коллекции и основные конструкции. А предпоследняя глава — про concurrency и сети, в которой автор рассказывает про очереди, процессы и потоки.
Кроме того, в книге есть дополнительные разделы про применение Python в науке. Сопровождаются они не только интересными, но и прикладными примерами.
Где купить или скачать
В бумажном и электронном вариантах можно найти здесь.
«Python. К вершинам мастерства»
Автор: Лучано Ромальо
Уровень: смешанный
В книге хорошо описаны разделы про потоки управления и метапрограммирование. Хотя это не простые темы.
Книга ориентирована на тех, у кого есть базовый опыт программирования. Она раскрывает особенности Python. Каждый раздел сопровождается рекомендациями. Например, когда лучше не использовать рассматриваемые инструменты. Взаимен автор предлагает альтернативные варианты.
Кроме того, книга насыщена подробными листингами с кодом и комментариями. Для некоторых это минус: учебник может показаться «нудным». Для других — плюс: такие описания помогают разобраться, как писать эффективный код.
- Модель данных в Python — основные типы данных: строки, числа, булевы значения.
- Структуры данных — списки, кортежи, словари, множества, специальные операторы для работы со структурами (срезы, распаковщики), numpy-массивы, всевозможные методы и многое другое.
- Функции как объекты — основы теории, пакеты для функционального программирования, декораторы и замыкания.
- Объектно-ориентированные идиомы — введение объектов через ссылки, работа с классами, парадигма ООП, наследования и перегразка операторов.
- Поток управления — контекстные менеджеры, генераторы, сопрограммы и запуск программ в параллельных потоках через concurrent.futures и asyncio.
- Метапрограммирование — свойства, дескрипторы атрибутов, декораторы классов и метаклассы.
Где купить или скачать
В бумажном и электронном вариантах можно найти здесь. На данный момент заказать оригинальную бумажную версию из-за рубежа проблематично. Однако эту же книгу можно купить во многих книжных магазинах.
«Python. Книга рецептов»
Авторы: Дэвид Бизли, Брайан К. Джонс
Уровень: смешанный
В книге почти нет теории, она полностью состоит из примеров. На каждой странице — задача, решение и обсуждение.
Если лучше воспринимаете формат «шпаргалок», это ваш вариант. В книге — рецепты почти на все случаи жизни разработчика. Есть даже инструкции по работе с потоками, памятью и ресурсами CPU.
Вот, по нашему мнению, самые интересные рецепты:
- Написание простого модуля расширения на C — для тех, кто хочет писать «шустрые» модули.
- Заставляем ваши программы выполняться быстрее — пригодиться, если дополнительные расширения на C не нужны, а ускорить программу нужно: автор рассказывает, как с помощью простых приемов — чистки кода и изменения его парадигмы — увеличить производительность программы.
- Установка лимитов на использование памяти CPU — рецепт для настоящих системных администраторов; описывает, как устанавливать ресурсные ограничения для программ, выполняющихся в Unix.
Где купить или скачать
В бумажном и электронном вариантах можно найти здесь. На данный момент заказать оригинальную бумажную версию из-за рубежа проблематично. Однако эту же книгу можно купить во многих книжных магазинах.
«Чистый Python. Тонкости программирования для профи»
Автор: Бейдер Дэн
Уровень: смешанный
Легкое и «не давящее» повествование с постепенным погружением в мир Python. Редкие отсылки из жизни автора оживляют книгу. Она очень приятна для изучения и помогает разобраться с разными приемами.
Подойдет для тех, кому надоела скучная литература. Автор книги не боится сказать рассказывает не скучно, разбавляет теорию разными историями. Хотя подача на любителя: если не любите объемные книги и авторские рассуждения, то посмотрите на другие учебники.
Зато в книга подробная. Прочитав ее, научитесь:
- работать с исключениями, assert-ами, контекстными менеджерами, magic- и dunder-операциями,
- грамотно использовать стандартные структуры, ассоциативные массивы, хеш-таблицы, коллекции данных и очереди (FIFO, LIFO, с приоритетами),
- оптимизировать программы с помощью исследования модулей и объектов, изоляции зависимостей при помощи Virtualenv,
- работать со стандартными конструкциями, ООП-методами и «эффективными функциями».
Где купить или скачать
В бумажном и электронном вариантах можно найти здесь.
«Паттерны разработки на Python»
Авторы: Гарри Персиваль и Боб Грегори
Уровень: профессионалы
Подойдет тем, кто хочет изучить современные высокоуровневые паттерны проектирования. Примеры описаны на популярных фреймкорках — Flask и SQLAlchemy.
Для построения элегантной и надежной архитектуры приложений используют паттерны — без них не обойтись при масштабировании проектов.
Есть несколько основных групп высокоуровневых паттернов — предметно ориентированный подход (DDD), разработка через тестирование (TDD) и паттерны событийно-ориентированной архитектуры. Но их адаптация «под Python» не всегда очевидна.
Автор книги разложил все по полочкам. Для демонстрации паттернов автор рассматривает структуру реального проекта, в котором все из них используются. Поэтому книга не только полезна, но и интерактивна. Код проекта доступен на Github.
Где купить или скачать
В бумажном и электронном вариантах можно найти здесь.
Какие книги купить для изучения python
Змеиный язык – находка для программиста, правда, речь не о том, который из Гарри Поттера, а о том, который Python. Подружиться с программированием не так уж сложно, главное – грамотно начать и двигаться постепенно. Самый адекватный способ попробовать свои силы – освоить Python. Это максимально доступный, понятный и простой язык, позволяющий без месяцев изучения создавать креативные и интересные приложения. Идеален для начинающего программиста.
Мы поделимся подборкой из 8 классных книг, помогающих быстро освоить змеиный язык, научиться создавать графику, писать коды для текстовых редакторов и понять другие нюансы Python. Это не просто сборник пособий, а подборка, проверенная практическим методом и одобренная практикующими программистами. Интересные книги найдутся как для новичков, так и продвинутых пользователей.
Эта книга — самый популярный ответ на вопрос — с чего начать. Да, переиздание уже слегка устарело, но для базового знакомства и изучения основных понятий подходит отлично! Рассмотрено все — от базовых понятий до частных случаев. Может показаться, что многовато воды, однако так материал легче читается.
Помимо теории в книге собраны толковые практические задания, так что чтение понравится и более-менее продвинутым пользователям. После изучения гарантированы основательные знания в написании эффективных кодов.
2. Думай на языке Python: думай как программист (Allen B. Downey)
Базовый материал для начинающих, своеобразный «навигатор» по пути от дилетанта до программиста среднего уровня. Труд можно считать фундаментальным с раскрытием множества обширных тем. Нет скучной теории, с первых страниц происходит погружение в маленькие задачи и программы, которые постепенно, от главы до главы разрастаются и усложняются. Получается практический курс с логическими пояснениями.
Проще не бывает! Книга написана феноменально простым языком, все понятия объяснены добротно и полно, непонятных моментов в программировании на Python просто не останется.
Вместо сотен хвалебных од скажем, что данный труд используется как пособие по изучению змеиного языка программирования в Калифорнийском и Бостонском Университетах, а также в Гарварде. Полезные сведения там найдутся и для продвинутых пользователей.
Отличное введение в Python с массой примеров кода, а также вариантов использования стандартной библиотеки. Книга оценена программистами по всему миру и может считать «настольным трудом» для начинающего программиста. Переиздание 3 обновлено по сравнению с предыдущим примерно на 75% и включает информацию об отличиях 2 и 3 версии.
5. Изучаем Python: тяжелый способ (Zed Shaw)
Один из лучших базовых гайдов, однако качественного перевода данного труда пока нет, придется довольствоваться исходным текстом. Но книга того стоит, она учит трем основным вещам в программировании: читать код, писать код и вырабатывает внимание к деталям и умение «видеть» различия. Последовательное выполнение задач из книги поможет получить и закрепить основные навыки программирования.
Плюс книги – четкая и удобная структура с короткими, но емкими главами, информация легко запоминается и логично изложена. В книге чуть более 50 упражнений, которые служат логическим продолжением друг друга.
6. Программирование на Python (Mark Lutz. 4-е издание)
Плавный переход от теории к практике. В книге собраны практические методы программирования и советы для написания программ. Описаны способы решения наиболее типичных задач, по полочкам разложены сферы и способы применения Python.
В общем, если с теорией разобрались – этот труд поможет понять практический аспект и превратить теоретические знания в практические навыки. Написано легко и доступно.
Делаем шаг вперед в познании змеиного языка. После получения базовых навыков можно взяться за эту книгу, где рассмотрены 59 методик написания высокоэффективного и супер-надежного кода. Данное пособие учит писать в истинно «змеином стиле».
Приведены простейшие способы решения популярных задач с примерами реального кода и развернутыми пояснениями. Это отличное пополнение навыков, которыми пользуются даже опытные программисты.
Продолжаем углублять знания, теперь разбираемся со встроенными и сторонними библиотеками. В книге представлен немного иной взгляд на змеиный язык. Полезные советы и интересные «фишки» можно использовать, даже не придерживаясь функционально стиля программирования.
Бонус
Это «шпаргалка», которая должна быть всегда под рукой, чтобы не искать нужные нюансы и определения в разных учебниках и курсах. Все кратко, сжато и по существу. Типы данных, стандартные библиотеки, встроенные функции и исключения – найдется все, что может пригодиться.
Обязательная книга в библиотеке новичка и профи, ведь держать всю информацию в голове попросту невозможно.
И совет от «бывалых»: начинать знакомство с языком программирования все же лучше из официальной документации. Именно так вы поймете «что к чему» и уже в прочтении книг по программированию не будет возникать пресловутых «белых пятен».
Помните, лучший способ постичь что-то – попробовать, на собственных ошибках и успехах учиться гораздо полезнее, удобнее, а главное – эффективнее. Пишите, ищите ошибки, исправляйте и снова пишите – так формируется условный рефлекс и теория превращается в закрепленные опытом знания.
И второе ценное наблюдение – не читайте все подряд, получив базовые понимания, сразу выбирайте необходимый профиль, тогда обучение будет эффективнее и быстрее.
Ещё больше информации о Python на нашем шестимесячном курсе «Профессия: Разработчик». Присоединяйтесь!
Купить лучшие книги о Python
Агрегатор книг о программировании на языке Python создан для сравнения предложений различных интернет-магазинов и покупки интересующей книги по самой низкой цене.
Информация о ценах и наличии книг обновляется каждый день.
Часто понравившуюся книгу можно купить не только в бумажном виде, но и её электронную (PDF) версию. В электронном виде книга стоит значительно дешевле своего бумажного аналога. Кроме того, она будет доступна к прочтению сразу после оплаты – не нужно ждать доставку.
На этой странице указаны только лучшие (по мнению читателей) книги.