Книги по Python для новичков
Мы купили и изучили все популярные книги по Python для новичков, а также записали видео-обзоры и небольшие текстовые рецензии на каждую.
В финальном видео мы отобрали 8 лучших книг по питону, а также подготовили 6 советов о том, как правильно читать книги по программированию.
Книги по Python
![]()
Начинаем программировать на Python
Тони Гэддис , 2022 год, 5-е издание
Обновленное издание одной из лучших книг по Python для начинающих программистов. Автор рассказывает не только про язык, но и про программирование в целом. В книге много блок-схем и иллюстраций, а также подробные описания приводимого кода. Большинство рассматриваемых примеров направлены на решение популярных бизнес-задач: расчета налогов, страховок, заработных плат и тд. В новом издании появилась большая глава про работу с базами данных и язык SQL.
![]()
Учимся программировать с примерами на Python
Эрик Фримен , 2020 год
Отличная книга по Python для начинающих программистов с большим количеством творческих заданий и нестандартным повествованием. В книге разбирается несколько несложных программ, на примере которых автор рассказывает о самых разных возможностях Python.
![]()
Знакомство с Python
Дэн Бейдер , 2023 год
Книга для начинающих программистов от автора «Чистого Python» и проекта Real Python. Книга написана легким языком и не претендует на глубину изложения. Знакомство с Python для новичков в самом прямом смысле.
![]()
Python – это просто
Нилаб Нисчал , 2022 год
Отличная книга для тех, кто хочет стать аналитиком на Python. Автор пишет легко и понятно, приводит интересные примеры и реальные бизнес-задачи. Вся работа ведется в среде Jupyter Notebook, которая используется аналитиками. Первая часть книги посвящена питону: синтаксису и философии. Во второй половине мы знакомимся с инструментами аналитики, включая NumPy, Pandas и Matplotlib.
![]()
Изучаем Python
Эрик Мэтиз , 2020 год, 3-е издание
Дружелюбная книга с простыми, но емкими объясненями для новичков в Python В первой половине автор объясняет базовые возможности языка: начиная от переменных и типов данных и заканчивая классами и юнит-тестами. Вторая часть книги посвящена проектной деятельности: вы научитесь создавать игры на PyGame, обрабатывать данные и строить графики с помощью matplotlib, а также напишете сайт на Django. Отлично подойдет начинающим разработчикам, которые хотят не только освоить Python, но и научиться проектировать и программировать проекты.
![]()
Python без проблем
Даниэль Зингаро , 2023 год
Веселая книга, в которой обучение строится через решение 25 забавных практических задач. Отлично подойдет ученикам старших классов, студентам ВУЗов, а также тем, кто хочет научиться программировать в расслабленном режиме. Глубокого погружения в Python в книге вы не найдет, зато проведете время обучения весело и интересно.
![]()
Начинаем программировать на Python
Тонни Гэддис , 2019 год, 4-е издание
Одна из лучших книг по Python для новичков в программировании. Автор рассказывает не только про язык, но и про программирование в целом. В книге много блок-схем, подробные описания приводимого кода и большое количество интересных бизнес-задач, а также заданий на развитие навыков алгоритмирования и логического мышления. Книге будет скучноватой для тех, кто уже умеет программировать на других языках.
![]()
Автоматизация рутинных задач с помощью Python
Эл Свейгарт , 2021 год, 2-е издание
Книга для новичков в Python, которые хотят не только научиться программировать, но и использовать питон для решения и автоматизации повседневных задач. В первой части книги вы познакомитесь с синтаксисом и базовыми конструкциями Python, а во второй изучите различные библиотеки, которые упрощают разработку и дополняют ваши программы. Во второй части разбирается работа с файлами, регулярные выражения, парсинг сайтов, обработка Excel-файлов, создание docx и pdf документов, взаимодействие с Google таблицами, а также отправка email-сообщений и работа с изображениями.
![]()
Программирование на Python в примерах и задачах
Васильев Алексей Николаевич , 2022 год
С одной стороны, книга написана для новичков, но с другой стороны, в ней плотное повествование, которое знакомит вас с основными концепциями Python уже в первой главе. Тут не будет легкого погружения как в других книга. Заниматься придется усердно с самого начала. В последующих главах происходит более глубокое раскрытие каждой темы, включая ООП и работу с потоками. В книге много практических примеров и рабочего кода. Хотя набран он не самым лучшим шрифтом, что несколько затрудняет чтение.
![]()
Изучаем программирование на Python
Пол Бэрри , 2020 год, 2-е издание
Отличная книга для тех, кто уже умеет программировать на других языках. Автор в непринужденной форме, со схемами и иллюстрациями, подробно объясняет основы Python, а также рассказывает как создавать сайты на Flask и работать с базами данных на примере MySQL Также в книге рассматриваются продвинутые возможности языка: генераторы, декораторы, виртуальные окружения и тд.
![]()
Непрактичный Python
Воган Ли , 2021 год
В книге нет теории или описания синтаксиса языка, вместо этого она содержит 24 занимательных проекта на самые разные темы: от криптографии до игр и симуляции извержения вулканов. «Непрактичный Python» отлично подойдет как вторая книга после изучения теории, чтобы вы могли развить свои навыки программирования.
![]()
Изучаем Python
Марк Лутц , 2020 год, 5-е издание
Из-за сложности изложения книга плохо подходит новичкам, но она должна быть в библиотеке любого Python-разработчика, которых хочет стать профессионалом. В книге глубоко раскрывается большая часть возможностей Python и приводятся реальные примеры применения языка. Однако оригинал был написан в 2013 году и некоторые современные возможности Python не рассматриваются.
![]()
Python. Экспресс-курс
Наоми Седер , 2019 год, 3-е издание
Книга для программистов на других языках, которые хотят быстро освоить Python. Первые две части посвящены основам Питона, а далее идет обзор популярных библиотек и инструментов, включая библиотеки для работы с файлами, сетями, регулярными выражениями и базами данных. Завершается книга обзором Pandas и Jupyter.
![]()
Простой Python
Билл Любанович , 2019 год
В книге содержится много практических примеров и рассматриваются популярные и часто используемые Python-библиотеки и инструментов. Для новичков может быть сложно, но отлично подойдет программистам с небольшим опытом в—Python, а также разработчикам на других языках (PHP, Java и т.д.). Особенно будет полезна если вы хотите развиваться в области web-программирования.
![]()
Python на примерах
Васильев Алексей Николаевич , 2019 год, 3-е издание
Книга с серьезным математическим уклоном, которая лучше всего подойдет студентам физико-математических факультетов технических ВУЗов. Несмотря на сложность содержания, автор очень подобно и понятно объясняет все примеры, просто приводимые задачи могут быть сложными для неподготовленных читателей.
![]()
Основы Python
Аллен Б. Дауни , 2021 год, 2-е издание
Книга написана простым языком, но содержит много математических примеров и заданий, что может вызвать трудности у совсем начинающих разработчиков. Сам Python раскрыт поверхностно, рассмотренных тем хватит только для успешного прохождения по книге и решения заданий. Учебник подойдет студентам технических ВУЗов, а также школьникам физ-мат классов, которые любят математику и не боятся решать сложные задачи.
![]()
Python. Исчерпывающее руководство
Дэвид Бизли , 2023 год
Книга для практикующих программистов, то есть для разработчиков на Python, которые пишут код в настоящий момент и которые хотят расширить свои навыки новыми приемами. Не подойдет для новичков, так как темы, которые рассматриваются в книге сложные и требуют хорошей подготовки.
![]()
Программирование на Python
Марк Саммерфилд , 2020 год
Книга для профессиональных программистов, которые хотят быстро освоить Python. Будет сложной для новичков и разработчиков с небольшим опытом. Первая часть книги раскрывает не только основные возможности Python, но и содержит много реальных практических примеров, а также описание стандартных модулей, что позволяет пользоваться ей как справочником. Вторая часть служит комментариями к исходным кодам, которые идут к книге. Из-за этого текст сложно воспринимается и зачастую трудно понять, что автор имеет ввиду.
10 книг по Python: как для новичков, так и для профи
Книг по Python довольно много, среди них есть отличные издания, которые будут полезны разработчику любого уровня. Собственно, эту подборку мы и подготовили в расчёте на специалистов с разным опытом и багажом знаний. Книги постарались упорядочить по возрастанию уровня сложности, с указанием плюсов и минусов (если они есть). Итак, поехали!

Книги для Python-разработчиков начального уровня
Программирование на Python в примерах и задачах
Автор: Васильев А. Н.

Книга знакомит читателя с базовыми методами, подходами и конструкциями, которые критически важны для изучения языка. В частности, для понимания принципов его использования на практике. Написана книга таким образом, чтобы быть понятной начинающему разработчику. Сложные (относительно) вещи тоже есть, но и они подробно разъясняются. Возрастной рейтинг — 12+, так что подходит издание и школьникам, и студентам.
Сильные стороны книги:
- автор приводит большое количество примеров кода;
- книга хорошо структурирована.
Изучаем Python: программирование игр, визуализация данных, веб-приложения
Автор: Эрик Мэтиз

Книга состоит из двух частей — теоретической и практической. В первой части автор раскрывает базовые концепции языка программирования. Также знакомит с основами тестирования кода, включая как переменные, так и списки, классы и циклы.
Во второй части уже практическое обучение: читателю предстоит написать несложную 2D-игру, а также веб-приложение на Django. Кроме того, рассказывается о визуализации данных с использованием Matplotlib и Plotly. Кстати, о визуализации в мире Python мы уже писали — статья доступна вот по этой ссылке, она может пригодиться как опытному специалисту, так и начинающему разработчику.
Сильные стороны книги:
- она будет понятна даже «зелёному» новичку;
- есть упражнения для закрепления материала в каждом разделе;
- язык книги не сухой и формальный, что также улучшает восприятие.
- примеры из книги хороши в качестве упражнения, но сами они не особо актуальны. Возможно, мы просто излишне придираемся, но было бы неплохо помочь новичкам разработать что-то простое, но актуальное.
Простой Python. Современный стиль программирования, 2-е издание
Автор: Любанович Б.

Эта книга даёт возможность не только изучить базовые для языка Python понятия, но и узнать о практиках тестирования ПО, об отладке, повторном использовании кода, асинхронном программировании. Как и в некоторых других книгах об этом ЯП, есть теория и практические задачи. Кстати, во втором издании появился раздел с f-строками, что даёт больше информации читателю.
Сильные стороны книги:
- информация излагается очень последовательно, структура книги хорошая;
- примеры простые, проблем с ними не должно быть;
- язык книги простой, автор излагает некоторые идеи с юмором.
- особых проблем нет.
Книги для Python-разработчиков среднего уровня
Однострочники Python: лаконичный и содержательный код
Автор: Майер Кристиан

Книга достаточно специфическая — она учит читать и писать… Нет, не буквы и слова, а лаконичные и достаточно функциональные однострочники. Автор понятным языком объясняет сложные вещи, а также демонстрирует примеры использования однострочников для разных задач.
Он также учит разбирать и понимать код на Python и использовать эти знания в собственной работе. Раскрываются хитрости и приёмы написания кода, регулярные выражения, полезные алгоритмы. И конечно, подробно разъясняются самые важные понятия computer science.
Сильные стороны книги:
- хороший стиль изложения;
- большое количество полезной информации;
- есть примеры кода.
- их практически нет. Возможно, вы читали эту книгу? Если да, то что скажете?
Большая книга проектов Python
Автор: Свейгарт Эл

Эта книга рассчитана на тех, кто уже освоил основы Python и готов двигаться дальше. Вот что можно найти внутри:
- «виселица», блэкджек и другие игры, в которые можно играть самому или с друзьями;
- имитационные модели лесных пожаров, бросков игральных костей и японских счётов-абаки;
- анимированные изображения аквариума, вращающегося куба и логотипа DVD, отскакивающего от краёв экрана;
- трёхмерная «бродилка» по лабиринту;
- криптография, шифры Виженера и ROT13, позволяющие надёжно спрятать ваш текст.
Автор даёт описание программы, результат её выполнения плюс код с весьма понятным и подробным объяснением. Есть, конечно, и задачи для самостоятельной работы.
Сильные стороны книги:
- в ней действительно много всего полезного, этим она и хороша;
- книга написана хорошим языком.
- мы их не заметили.
Алгоритмы неформально. Инструкция для начинающих питонистов
Автор: Такфилд Брэдфорд

Как и предыдущее издание, эта книга рассчитана на тех, кто уже знаком с основами ЯП. Название раскрывает содержание — автор знакомит нас с нюансами реализации многих популярных алгоритмов. Также читателя учат измерять и оптимизировать их производительность. Кроме того, можно научиться ещё вот чему:
- поиск максимумов и минимумов с помощью алгоритма градиентного спуска;
- использование алгоритмов отладки кода, генерация случайных чисел;
- разработка настольных игр, включая головоломки.
Сильные стороны книги:
- практическое обучение читателя;
- разработка относительно несложных игр и чат-ботов.
- что ж такое-то, их снова нет.
Книги по Python для опытных разработчиков
Внутри CPYTHON: гид по интерпретатору Python
Автор: Энтони Шоу

Автор рассказывает о принципах работы внутренних механизмов языка. Даются задания, которые позволяют на практике понять то, о чём рассказывает Шоу. В частности, раскрываются такие нюансы, как:
- грамматика и язык Python;
- почему CPython написан на C, а не на Python;
- спецификация языка Python;
- документация языка;
- файл грамматики и многое-многое другое.
Читатель, освоив изложенные в книге материалы, сможет разобраться с основными концепциями внутреннего устройства CPython и научиться:
- читать исходный код интерпретатора CPython и свободно ориентироваться в нём;
- вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython;
- понимать внутреннюю реализацию таких структур, как списки, словари и генераторы;
- управлять памятью CPython;
- масштабировать код Python за счёт параллелизма и конкурентного выполнения;
- дополнять базовые типы новой функциональностью, выполнять наборы тестов;
- профилировать и проводить бенчмарк Python-кода и исполнительной среды;
- отлаживать код C и Python на профессиональном уровне;
- изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.
Сильные стороны книги:
- уникальная информация, которая будет полезна многим разработчикам и которой нет или почти нет в других книгах;
- хорошо структурированный материал.
- стоимость книги высоковата.
Машинное обучение с использованием Python. Сборник рецептов
Автор: Элбон Крис

В книге содержится сразу 200 рецептов решения многих задач машинного обучения. Авторы приводят решения, используя векторы, матрицы и массивы, линейную и логистическую регрессию, деревья, леса и k ближайших соседей, кластеризацию и нейронные сети. Если описать всё содержимое, то это будет отдельная статья, так что лучше ознакомиться самостоятельно.
Сильные стороны книги:
- автор раскрывает неочевидные приёмы работы, о которых не все знают;
- приводятся примеры решения частых проблем ML и DS.
- практически нет, разве что написано суховато, но и тема соответствующая.
Black Hat Python: программирование для хакеров и пентестеров, 2-е издание
Авторы: Джастин Зейтц, Тим Арнольд

Это уже второе издание популярной книги. Она даёт возможность изучить обратную сторону медали, то есть узнать о вещах вроде кражи учётных данных пользователя, написания сетевых снифферов, создания фазеров мутаций, создания скрытых троянов. Всё это используют как взломщики, так и пентестеры, специалисты по информационной безопасности. Книга подходит тем из читателей, кто занимается поддержанием безопасности сетей и компьютерных систем.
Сильные стороны книги:
- интересные нюансы работы пентестера;
- всегда интересно прикоснуться к «запретному плоду».
- либо нет, либо мы их просто не обнаружили.
Высокопроизводительные Python-приложения. Практическое руководство по эффективному программированию
Авторы: Миша Горелик, Йен Освальд

Ну а здесь раскрываются нюансы создания высокопроизводительных приложений. Этого авторы помогают достичь благодаря ускорению кода выполнения в программах, которые работают с большими объёмами данных. Они обучают задействовать плюсы многоядерных архитектур, а также строить масштабируемые системы.
Сильные стороны книги:
- авторы рассказывают просто о сложных вещах.
- мы их снова не нашли.
Топ книг по обучению языку Python
Книги — старый как мир способ обучения, который актуален и для изучения Python. Хорошая книга — всегда на вес золота.
Рассмотрим ТОП популярных книг по изучению «Питона».
Для новичков
Укус Питона (A Byte of Python)
| автор | Swaroop. C.H. |
|---|---|
| объем | 158 страниц |
| дата написания | 2020 год |
| цена | бесплатно |
Одна их лучших обучающих книг по Python для новичков. Написана инженером-менеджером группы машинного обучения компании Helpshift. Данное учебное пособие введет в курс дела даже людей, которые вообще не знакомы с миром программирования. Во введении книги указано, что пособие подойдет для тех, кто среди огромного функционала компьютера умеет лишь сохранять файлы.
Книга «Укус Питона» бесплатна, переведена на русский язык. Данная книга станет хорошим другом новичку и быстро научит программировать на языке Python.
Программирование на Python 3. Подробное руководство
Купить на litres.ru
| автор | Марк Саммерфилд |
|---|---|
| объем | 604 страницы |
| дата написания | 2009 год |
| цена | 579 руб |
Автор данной книги постепенно вводит новичка в курс дела, начиная от базовых понятий, заканчивая более сложными темами (распределение вычислительной нагрузки, использование сложных типов данных и др.)
По мере чтения, новичок постепенно наращивает свой опыт, а многочисленные примеры помогут закрепить знания на практике.
Программируем на Python
| автор | Майкл Доусон |
|---|---|
| объем | 416 страниц |
| дата написания | 2019 год |
Данная книга отлично подойдет для начинающих изучать Python. Вы научитесь разрабатывать приложения на Python и узнаете, как их применять в реальной практике.
Из плюсов в данной книге:
- много примеров кода и задач для самопроверки;
- отлично объясняются преимущества ООП;
- сложные вещи описаны простым языком.
Из недостатков — если вы уже знакомы с языком, книга покажется скучной.
Автоматизация рутинных задач с помощью Python
| автор | Эл Свейгарт |
|---|---|
| объем | 592 страницы |
| дата написания | 2018 год |
Перед вами — сборник полезных рецептов по автоматизации рутинной работы. Например:
- поиск определенного текста в файле;
- поиск в Интернете;
- рассылка электронной почты;
- работа с Excel таблицами и т.д.
Книга будет интересна как новичкам, так и программистам, уже знакомым с языком Python. Автор подробно объясняет фундаментальные понятия синтаксиса языка, разбавляя теорию понятными примерами и интересными задачами.
Для тех, кто уже знаком с Python-ом ♂️
Изучаем Python
Купить на litres.ru
| автор | Марк Лутц |
|---|---|
| объем | 830 страниц |
| дата написания | 2009 год |
| цена | 152 руб |
По заявлению автора, книга предназначена для новичков. Однако это не совсем так. Данное пособие стоит начинать изучать после «Укуса Питона» и других, более легких материалов.
«Изучаем Python» — это серьезная книга. Каждая тема в ней рассказывается со всеми мелкими нюансами. Пособие увесистое, 1200 страниц — не у каждого новичка хватит терпения прочитать и проработать всё до конца.
Эта книга будет интересна тем, кто уже имеет минимальное представление о языке. Благодаря глубокой проработке каждой темы, вы откроете для себя много нового. К недостаткам можно отнести малое количество упражнений.
Простой Python. Современный стиль программирования
| автор | Билл Любанович |
|---|---|
| объем | 480 страниц |
| дата написания | 2019 год |
Уникальное пособие, которое выполнено в виде диалога автора и читателя. Билл Любанович написал практически художественное произведение, которое читается на одном дыхании. Пособие начинается с областей применения Python и заканчивается практическими задачами для выполнения.
Начинающим программистам книга покажется сложной, но отлично подойдет тем, кто уже имеет опыт программирования на других языках.
Python. К вершинам мастерства
Купить на litres.ru
| автор | Лучано Рамальо |
|---|---|
| объем | 770 страниц |
| дата написания | 2015 год |
| цена | 879 руб |
Разработчики, пришедшие из других языков программирования, часто пытаются использовать в Питоне те приемы и практики, которыми они привыкли пользоваться до его изучения. Книга покажет, как создавать эффективный идиоматичный код на Python. Автор рассказывает о базовых средствах и библиотеках Python. Вы научитесь делать код одновременно коротким, быстрым и понятным.
Книга предназначена для программистов, имеющих базовый опыт программирования на Python-е. Или тех, у кого есть опыт в других языках программирования.
Python. Книга Рецептов
Купить на litres.ru
| авторы | Дэвид Бизли Брайан К. Джонс |
|---|---|
| объем | 650 страниц |
| дата написания | 2013 год |
| цена | 1 179 руб |
Название говорит само за себя — в данной книге приведены полноценные рецепты, охватывающие свыше 10 основных тем Python (конкурентность, полезные скрипты для системного администрирования, метапрограммирование, тестирование и др.)
К каждому рецепту идет пример кода, который вы можете использовать в реальных проектах.
17 книг для начинающих, опытных и продвинутых Python-разработчиков
Опытные Python-разработчики советуют книги о программировании и рассказывают, как выжимать из них максимальную пользу.


Иллюстрация: rawpixel.com / Vectonauta / timmdesign / zlatko_plamenov / Freepik / Дима Руденок для Skillbox Media

Мария Даровская
Журналист, коммерческий автор и редактор. Пишет про IT, цифровой маркетинг и бизнес.
Сайт: darovska.com.
Мы попросили экспертов, сведущих в Python-разработке, посоветовать хорошую литературу для программистов разных грейдов. В итоге получилась подборка из 17 книг, проверенных временем, опытом и карьерой 🙂
В опросе принимали участие:
- Никита Соболев — сооснователь компании wemake.services, топ-70 по коммитам в CPython и топ-6 по коммитам в Mypy и Typeshed.
- Семён Жаров — инженер по автоматизации и Senior-разработчик.
- Дмитрий Курлов — Senior Software Engineer в Smart Agri Labs.
- Аким Акимов — дата-инженер в Amazon Web Service.
- Гриша Герасев — разработчик.
Книги для начинающих Python-разработчиков
Сложность: ★ ☆ ☆

Senior Software Engineer в Smart Agri Labs
«В последние годы самыми популярными источниками информации стали блоги и ютуб-каналы. Но лучшим способом изучить язык по-прежнему остаётся документация.
Выбрать хорошую книгу довольно тяжело — это скорее вопрос везения. Как с курсами на Udemy: может попасться что-то интересное, но, скорее всего, вести курс будет индиец с ужасным акцентом, пересказывающий документацию. Тем не менее есть хорошие книги, которые стоит прочитать новичкам».
Книги из этой подборки дадут представление об основах языка, алгоритмах, фреймворке Django, машинном обучении и лучших практиках написания кода.
«Изучаем Python»
Марк Лутц

Оригинальное название: Learning Python.
Перевод с английского: Артёменко Ю.
Издательство: «Диалектика». 2019 год, 832 с.
Зачем читать: чтобы начать программировать на Python, даже если вы никогда в жизни не писали код.
«Изучаем Python» Марка Лутца — культовый учебник программирования, рассчитанный на новичков. Поможет освоить Python с нуля — от азов до продвинутых концепций объектно-ориентированного программирования. А ещё в книге много примеров и упражнений — чтобы можно было отточить теорию на реальных задачах.
Учебник Лутца хорош тем, что описывает буквально всё, что нужно знать о Python, — вплоть до работы интерпретатора и виртуальной машины. Если сможете освоить его целиком (800 страниц как-никак), получите фундаментальные знания о возможностях языка и его внутренней кухне.
Преимущества: книга даёт сильную базу не только по основам Python, но и по computer science в целом. Например, описывает, как язык работает с памятью и операционной системой.
Недостатки: некоторые мысли повторяются много раз — видимо, чтобы новички прочнее их усвоили. Плюс многие читатели жалуются на не самый качественный перевод на русский язык.
«Простой Python»
Билл Любанович

Оригинальное название: Introducing Python: Modern Computing in Simple Packages.
Перевод с английского: Зазноба Е. В.
Издательство: «Питер». 2021 год, 592 с.
Зачем читать: чтобы в сжатой форме получить всё самое важное о языке.
Ещё один классный учебник для знакомства с Python. Здесь не будет глубокого погружения во «внутренности» языка, зато вы освоите основное: синтаксис, переменные, типы и структуры данных, возможности ООП, а на сладкое — работу с сетью, памятью и популярными фреймворками. И всё это на примере реальных программ, написанных на Python.
Бонусом книга раскрывает возможности Python в искусстве и науке — например, в ней говорится о работе с двухмерной и трёхмерной графикой, диаграммами, визуализациями, графическими интерфейсами. Так что она особенно понравится новичкам, нацеленным на data science, — можно получить базовые навыки работы с данными.
Преимущества: по-настоящему лаконичный учебник по программированию.
Недостатки: многие ссылки из книги уже недоступны.
Django 2 в примерах
Антонио Меле

Оригинальное название: Django 2 By Example.
Издательство: «ДМК Пресс». 2019 год, 408 с.
Зачем читать: чтобы начать работать с Django — самым популярным Python-фреймворком для разработки веб-приложений. Он позволяет создавать сайты и веб-приложения из готовых шаблонов и библиотек — примерно как в конструкторе, только с куда более тонкой настройкой.
С помощью книги «Django 2 в примерах» вы изучите возможности платформы, создавая реально работающие приложения: блог, социальную сеть, интернет-магазин и платформу для онлайн-обучения. Научитесь разворачивать проект на сервере и подключать к нему разные полезные штуки — например, формы оплаты, комментариев и авторизации.
Преимущества: написано легко и интересно, с обилием примеров. В книге пошагово разбирается создание сайта и его настройка. Все исходники и библиотеки можно скачать в репозитории на GitHub.
Недостатки: в книге разбирается вторая версия Django, в то время как уже вышли третья и четвёртая. По ним тоже есть книги, но они пока не переведены на русский язык. Впрочем, большая часть информации в книге актуальна — все инструкции и фрагменты кода будут работать и с Django 3, и с Django 4.
«Грокаем алгоритмы»
Адитья Бхаргава

Оригинальное название: Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People.
Перевод с английского: Матвеев Е. А.
Издательство: «Питер». 2022 год, 288 с.
Зачем читать: чтобы понять, что алгоритмы — это интересно и совсем не сложно.
Мастрид для всех, кто видит себя в IT. Неважно, работате вы программистом или просто сдаёте ЕГЭ по информатике, — понимание работы алгоритмов будет полезно всем причастным к computer science.
Простым и увлекательным языком автор рассказывает, как работают сортировка, рекурсия, хеш-таблицы, жадные алгоритмы и другие сложные концепции. Если вы любите, когда запутанные вещи объясняют на примере простых аналогий и жизненных ситуаций, вам точно понравится эта книга.
Преимущества: теория дана человеческим языком, с примерами кода на Python.
Недостатки: встречаются опечатки в коде из-за ошибок при редактуре русского издания.
«Грокаем глубокое обучение»
Эндрю Траск

Оригинальное название: Grokking Deep Learning.
Перевод с английского: Киселёв А.
Издательство: «Питер». 2019 год, 352 с.
Зачем читать: чтобы начать разбираться в машинном обучении и сделать первый шажок к data science.
Если вы всегда мечтали узнать, как учатся машины и из чего состоят нейронные сети, обязательно прочитайте эту книгу. По стилю подачи это скорее научпоп, а не академический учебник — идеально, чтобы полноценно разобраться в вопросе и не сломать мозг по дороге. Ну и куда же без практики — ближе к концу книги сможете попробовать сделать свои нейронки и ML-фреймворки с помощью популярных Python-библиотек — тех же NumPy и PyTorch.
Преимущества: для прочтения не требуется специальных математических знаний — достаточно простой арифметики и базовых кодерских навыков.
Недостатки: несмотря на простой язык, для прочтения понадобится математический бэкграунд — к середине книги во многих вещах придётся разбираться самостоятельно. Ну и классическая претензия к качеству перевода — судя по отзывам, читать книгу лучше в оригинале.
Что читать Python-разработчикам уровня Middle
Сложность: ★ ★ ☆

«Многие новички начинают изучение программирования с чтения книг. Я бы, наоборот, не рекомендовал этого делать и сам редко читаю учебники.
Лучше изучать официальную документацию и исходный код программ: заходите на GitHub, открываете понравившийся проект по Django или Python и читаете исходники. В какой-то момент благодаря этому вы начнёте понимать устройство практически любого проекта.
Но если хочется почитать книги, обратите внимание на литературу по базовым концепциям, например алгоритмам и работе с базами данных».
В этой подборке вы найдёте книги о распределённых системах, алгоритмах, инфраструктуре баз данных, глубоком обучении и типизации в Python.
«Python. Книга рецептов»
Дэвид Бизли, Брайан К. Джонс

Перевод с английского: Уваров Д.
Издательство: «ДМК Пресс», 2019 год, 646 с.
Оригинальное название: Python Cookbook.
Зачем читать: чтобы пополнить кодерский багаж полезными лайфхаками и начать применять их в работе.
«Python. Книга рецептов» — это учебник программирования, заточенный на практику. Скучной теории здесь мало, зато на каждой странице — задача с решением и обсуждением. Все задания основаны на реальных ситуациях в разработке, поэтому их можно воспринимать как готовые инструкции — не зря же это книга рецептов.
Конечно, теоретическая база здесь тоже есть: структуры данных, алгоритмы, работа с итераторами и генераторами, кодирование и обработка данных, функции и так далее. Но всё это максимально привязано к практике — например, можно узнать, как ускорить работу программы, изменив парадигму написания кода.
Преимущества: книгу можно использовать как набор шпаргалок или справочник.
Недостатки: для чтения понадобятся базовые навыки в программировании — новичкам вникнуть будет сложновато.
«Python. Разработка на основе тестирования»
Гарри Персиваль

Оригинальное название: Test-Driven Development with Python.
Перевод с английского: Логунов А.
Издательство: «ДМК Пресс». 2018 год, 622 с.
Зачем читать: чтобы научиться писать веб-приложения с помощью подхода TDD — разработки через тестирование. Это когда для какого-то фрагмента программы сначала пишут тесты, а потом — код.
В основном книга рассчитана на опытных разработчиков, но новичкам тоже будет полезна. Автор ведёт читателя методом TDD через все процессы создания сайта — от написания тестов и рефакторинга до подключения модулей на Django и самой разработки. Подача простая и наглядная, с обилием юмора и иллюстраций, так что читать будет интересно.
Преимущества: чуть ли не единственная книга о разработке через тестирование на Python.
Недостатки: читатели отмечают низкое качество перевода — например, некоторые фрагменты кода приведены с ошибками. Плюс часть инструкций по развёртыванию проектов немного устарели.
«Python. К вершинам мастерства»
Лучано Рамальо

Оригинальное название: Fluent Python: Clear, Concise, and Effective Programming.
Перевод с английского: Слинкин А.
Издательство: «ДМК Пресс». 2016 год, 768 с.
Зачем читать: чтобы начать использовать возможности Python по-максимуму.
Фишка книги в том, что автор не только рассказывает о популярных инструментах, но и поясняет, для каких задач их лучше использовать: например, когда будут уместны списки, а когда — массивы. Многие советуют читать её после книги Лутца, чтобы глубже разобраться в сложных штуках: потоках управления, метапрограммировании, декораторах, замыканиях и вот этом всём.
Преимущества: автор описывает лучшие практики Python-программирования — рассказывает, как писать эффективный и читаемый код.
Недостатки: не подходит для новичков — минуя синтаксис и базовые особенности языка, книга сразу переходит к продвинутым фичам питона.
«Высоконагруженные приложения. Программирование, масштабирование, поддержка»
Мартин Клеппман

Оригинальное название: Designing Data-Intensive Applications.
Переводчик: Пальти И.
Издательство: «Питер». 2022 год, 640 с.
Зачем читать: чтобы ещё лучше понимать, как работают сложные серверные приложения.
Книга Мартина Клеппмана — это Священное Писание бэкенд-разработчика. Базы данных, сетевые протоколы, репликация — чего тут только нет. Даже теорию категорий и техники объектно-ориентированного дизайна завезли. Если же обращаться к практической стороне вопроса, из книги вы узнаете:
- как базы данных хранят данные на сервере, чтобы их можно было эффективно находить;
- как серверные приложения справляются с большой нагрузкой;
- какие модели данных и языки запросов для каких ситуаций подходят;
- какие подходы позволяют создавать надёжные и масштабируемые системы.
И многие другие вещи, которые гуманитариям лучше не читать на ночь 🙂
Преимущества: можно получить представление о внутреннем устройстве баз данных и сценариях их использования.
Недостатки: некоторые считают, что из-за постоянного появления новых методик работы с данными книга в какой-то момент начнёт устаревать.
«Чистый код»
Роберт Мартин aka Дядя Боб

Оригинальное название: Clean Code: A Handbook of Agile Software Craftsmanship.
Перевод с английского: Матвеев Е.
Издательство: «Питер». 2019 год, 464 с.
Зачем читать: чтобы научиться писать чистый код и замечать ошибки там, где другие их не видят.
Эта книга имеет спорную репутацию, и вот почему.
Фишка в том, что очень многие вещи, о которых пишет Дядя Боб, правильные. Но из-за того, что мы не можем приучить себя к высокой культуре написания кода, мы так никогда не пишем. А из-за этого код, который мы видим в книге, кажется нам странным, некрасивым, и мы начинаем его осуждать.
Книга состоит из трёх частей. В первой части — принципы, паттерны и приёмы написания чистого кода с примерами. Вторая часть — практические сценарии и упражнения по чистке проблемного кода. Третья — перечень правил, описывающих, как правильно читать, писать и исправлять код.
Преимущества: можно узнать, какие паттерны разработки предлагают использовать опытные программисты.
Недостатки: примеры из книги рассчитаны на идеалистов и часто неприменимы в коммерческой разработке.

«Всё прочитанное отложится в голове, только если применять это на практике. Познакомившись с какой-то концепцией, нужно начать использовать её в коде, пытаться применить в уже существующих проектах или создать собственный на её основе. Только через практику вы поймёте, что из прочитанного вам подходит, а что — нет».
«Распределённые системы»
Эндрю С. Таненбаум, Мартен ван Стин

Оригинальное название: Distributed Systems.
Перевод с английского: В. Яровицкий.
Издательство: «ДМК Пресс». 2021 год, 584 с.
Зачем читать: чтобы прокачаться в создании надёжных масштабируемых систем для бэкенда.
Действительно фундаментальный труд о распределённых системах. Написан немного старомодным языком, зато здесь есть всё, что нужно хорошему бэкендеру: сетевые модели и протоколы, клиент-серверная архитектура, кэширование и репликация в вебе — бери и используй в работе. Что ещё можно узнать из книги:
- как работает конкурентный доступ к ресурсам;
- как реализуются очереди сообщений;
- как сбалансировать нагрузку на сервер.
Преимущества: неустаревающая классика, написанная простым языком с понятными примерами.
Недостатки: читатели жалуются на качество русского перевода книги. Например, frontend перевели как «передний конец», а commit — как «фиксация». Поэтому эту книгу рекомендуют читать в оригинале, тем более что он опубликован в открытом доступе.
«Типизированный Python для профессиональной разработки»
Алексей Голобурдин

Язык: английский.
Автор: Алексей Голобурдин.
Зачем читать: чтобы понять всю прелесть динамической типизации в Python. На примере приложения «Погода» автор рассказывает, как использовать встроенные в Python структуры и типы данных: строки, кортежи, словари и другие.
Преимущества: единственное за долгие годы издание о типизации в питоне. Живое сообщество поклонников — у автора есть популярный ютуб-канал, и не только по этой теме, но и по всей Python-разработке в целом.
Что почитать опытным Python-разработчикам
Сложность: ★ ★ ★

«Специалистам постарше можно читать более философские, концептуальные истории, чтобы начать разбираться в вопросе не поверхностно, а глубоко, соединять разрозненные данные о разработке в единую картинку».
В подборке книг для сеньоров — теория категорий, паттерны проектирования, SQLAlchemy, продвинутый Python: слои приложений, метапрограммирование, событийное программирование и асинхронность.
Category Theory for Programmers
Bartosz Milewski

Язык: английский.
Издательство: Bartosz Milewski. 2019 год, 350 с.
Зачем читать: чтобы взглянуть на программирование с точки зрения математики, а ещё чтобы разобраться в монадных функциях.
Забудьте про классы, объекты, полиморфизм, наследование. Автор книги, физик по образованию, предлагает разработчикам заглянуть в самые недра программирования — принципы теории категорий, благодаря которым разные части кода вообще можно сочетать друг с другом. Если это и не бином Ньютона, то очень близко к этому.
Это не просто книжка, которую можно прочитать и закрыть. Нужно обдумать прочитанное, написать код, снова обдумать и выполнить предложенные автором примеры кода. Это сложный образовательный процесс. А образовательный процесс — всегда насилие над собой. Нужно будет немножко поиздеваться над собой.
Преимущества: книга даёт программистам расширенную математическую базу. Есть качественный перевод на русский язык. Если хотите поработать с примерами кода из этой книги, можно скачать их в авторском GitHub-репозитории.
Недостатки: сложная книга, но не из-за подачи, а из-за темы. Фрагменты кода приводятся на C++ и Haskell, поэтому понадобится базовое знание этих языков.
Expert Python Programming
Michal Jaworski, Tarek Ziadé

Язык: английский.
Издательство: Packt Publishing. 2021 год, 630 с.
Зачем читать: чтобы разобраться в новых фишках синтаксиса Python, научиться работать с популярными инструментами и настраивать окружение.
Так как особое внимание в книге уделено параллелизму и развёртыванию проектов, она особенно подойдёт веб-разработчикам и бэкенд-инженерам. Начав с описания нововведений Python 3.7, авторы постепенно подводят читателя к написанию приложений и управлению проектом. Можно научиться:
- разворачивать приложения на сервере;
- интегрировать в Python блоки кода на C и C++;
- использовать библиотеки событийного, сигнального и асинхронного программирования;
- оптимизировать код — вычислять уязвимые места в проекте и улучшать их производительность;
- составлять техническую документацию.
Преимущества: книга позволит глубже изучить язык программирования Python в версии 3.7.
Недостатки: опечатки в коде, нет перевода на русский язык.
«Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура»
Гарри Персиваль и Боб Грегори

Оригинальное название: Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices.
Перевод с английского: Андрей Логунов.
Издательство: «Питер». 2021 год, 336 с.
Зачем читать: чтобы разобраться в высокоуровневых паттернах проектирования.
Учебник даёт подробную информацию о подходах к архитектуре приложений. На понятных примерах авторы объясняют принципы предметно-ориентированного проектирования, разработки через тестирование, основные концепции ООП и общую архитектуру программного обеспечения.
Книга учит строить приложение со слоями, менеджерами контекста, пониманием unit of work, управлять сложностью приложений и получать максимальный результат от тестов.
Преимущества: описанные подходы работают не только в Python, но и в других языках программирования.
Недостатки: читатели жалуются на плохую вёрстку и адаптацию русскоязычного издания.
500 Lines or Less
Michael DiBernardo (editor)

Язык: английский.
Оригинальное название: 500 Lines or Less.
Издательство: Lulu Press. 2016 год, 478 с.
Зачем читать: чтобы узнать, как опытные программисты решают сложные задачи.
Это не книга в классическом понимании, а скорее альманах или сборник статей. Разработчики приложений с открытым исходным кодом рассказывают о своих продуктах: как они работают, из чего состоят и что из них можно почерпнуть. По словам авторов проекта, статьи будут интересны двум категориям разработчиков:
- новичкам — чтобы узнать, как думают опытные коллеги;
- опытным программистам — чтобы перенять какие-то приёмы и использовать их в работе.
Преимущества: учимся у лучших.
Недостатки: нет.
«Элегантный SciPy»
Хуан Нуньес-Иглесиас и Штефан ван дер Уолт

Оригинальное название: Elegant SciPy: The Art of Scientific Python.
Перевод с английского: Логунов А.
Издательство: «ДМК Пресс». 2018 год.
Зачем читать: чтобы научиться работать с библиотеками для обработки данных.
Напоследок: книга для настоящих учёных и всех, кто грезит о больших данных. С её помощью можно освоить популярные библиотеки, которые используют в статистике, машинном обучении, визуализации данных и обработке изображений. Это и NumPy, и её надстройка SciPy, и Pandas, и легендарный блокнот Jupyter, который умеет исполнять код по кусочкам. А что ещё нам, учёным, надо?
Преимущества: коротко и по делу, без лирических отступлений — подробное и глубокое погружение в дебри научной Python-экосистемы. Все примеры — на основе реальных исследований. Например, есть примеры с набором данных по экспрессии генов и анализом радарных данных.
Недостатки: нет.
В заключение: как читать книги о программировании, чтобы извлечь максимальную пользу
С книжками разобрались, теперь немного о том, как их читать, чтобы не потерять время и вынести что-то полезное.
Выбирайте книгу по уровню
Классическая ошибка — читать не ту книгу в неподходящий момент времени. Если вы новичок и читаете книжку для опытных программистов, вы себе вредите. Ведь вы ещё не понимаете проблематики, которая стояла перед автором, когда он эту книгу писал. После этого люди часто начинают «впихивать невпихуемое», а это плохо и для программиста, и для кода, который он пишет.
Не зацикливайтесь на best practices
Коммерческая разработка — это всегда костыли. Зачастую там никакие практики неприменимы. Поэтому будете вы читать книги или нет — никакой разницы. Чтение книг не играет роли в профессиональном становлении.
В коммерческой компании стать большим профессионалом крайне сложно. Нужно либо создавать что-то своё, набивать шишки, либо находить себе уникального ментора, которых очень мало в мире, а книжки вам в этом не помогут.
Главное — практика
Книги — лишь некий заменитель развития. Вы развиваетесь, когда что-то делаете. Когда вы читаете, то только делаете вид, что что-то делаете. Вместо этого вы должны полученные знания сразу применить на практике.
Лучший способ чему-то научиться — сделать open-source-проект, который решает конкретную проблему, а потом развивать его и поддерживать. Так вы становитесь экспертом в конкретной проблеме. Если вы не можете создать свой проект, можно присоединиться к существующему, и тогда люди, по работам которых написаны все эти книги, расскажут, как делать и как не делать. Это будет намного полезнее, чем прочитать книгу и не написать ни строчки кода по описанным практикам.
Больше интересного про код в нашем телеграм-канале. Подписывайтесь!
