5 книг по Python 3, которые предназначены начинающим (и не только) разработчикам

Какие книги нужны питонисту

Знаю, что рекомендовать начинающим (и не только) программистам книги по изучаемому им языку программирования — неблагодарное дело, поскольку:

Но есть книги, которые полезно прочитать практически каждому разработчику, желающему освоить данную технологию; книги, которым место на полке рядом с компьютером, чтобы в любой момент можно было протянуть руку и открыть их на нужной странице; книги, из которых будут выглядывать разноцветные закладки, потому что невозможно и не нужно помнить всё, главное — знать, где эту информацию можно посмотреть. Да, все умеют гуглить, многие слышали про Stack Overflow, но хороший учебник или справочник от опытного разработчика пока ещё трудно заменить.

Именно о таких книгах и пойдёт речь в данной заметке. Я отобрал всего 5 (пять) книг, но зато каких! (На самом деле нет, не пять: в бонусном разделе кратко остановлюсь на ещё шести изданиях). Эти книги изданы в последние годы, их всё ещё можно купить в бумажном или электронном виде, и они, как правило, описывают относительно свежие версии ЯП Python 3.Практически каждая из них содержит ссылку, по которой можно скачать исходный код примеров (а также в ряде случаев — и решение заданий для самостоятельной работы).

1. Основы Python. Научитесь думать как программист

Основы Python. Научитесь думать как программист
Дауни Аллен. Основы Python. Научитесь думать как программист. 2-е изд. — М.: Манн, Иванов и Фербер, 2021. — 304 с.

Если у вас за плечами нет образования, связанного с информатикой, или знания другого ЯП, то эта книга — как раз для вас! Она не только даёт базовое понимание структур данных и синтаксиса языка Python, но и учит применять их так, как это делают опытные программисты. Впрочем, если вы уверены в себе — может сразу переходить к следующей книге.

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

(Кажущийся) минус книги: изложена слишком "старая" версия Python 3; но это именно тот фундамент, на котором построены все новации.

2. Простой Python. Современный стиль программирования

Простой Python. Современный стиль программирования
Любанович Билл. Простой Python. Современный стиль программирования. 2-е изд. — СПб.: Питер, 2021. — 592 с.

Вот эту книгу точно надо изучить всем. Она не только содержит подробное объяснение достаточно "свежей" версии Python 3, но и доступно демонстрирует, как описываемые концепции ЯП применяются на практике, т.е. это такое сочетание справочника, учебника и книги рецептов. Если вы не знаете, какую книгу по Python 3 вам выбрать — выберете именно эту книгу, её одной вам хватит, чтобы стать питонистом.

Плюс книги: плюсов много, но особо отмечу приложения. Особенно рекомендую всем начинающим (именно!) программистам прочитать Приложение А, которое является кратким ликбезом по Computer Science.

(Кажущийся) минус книги: объём книги может отпугнуть начинающего программиста, но не надо пытаться освоить весь материал за один день!

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

Чистый Python. Тонкости программирования для профи
Бейдер Дэн. Чистый Python. Тонкости программирования для профи. — СПб., Питер, 2020. — 288 с.

На самом деле не надо быть профи, чтобы понять эту книгу: достаточно хорошо освоить базовые концепции Python 3 (в чём вам поможет предыдущее руководство). Данная книга выросла из серии небольших рецептов кода, автор предлагает не читать её от корки до корки (хотя, по мне, такой способ повышения своего уровня вполне уместен), а рассматривать как "копилку потрясающих функциональных средств языка Python".

Плюс книги: понятные примеры, достаточно простые (для подготовленного разработчика) объяснения, минимум теории.

(Кажущийся) минус книги: что поделать, язык развивается и какие-то примеры устаревают — теперь есть более совершенные способы выполнения тех же задач. Но, в любом случае, приведённый в книге код работает!

4. Python. Лучшие практики и инструменты

Python. Лучшие практики и инструменты
Яворски Михаил, Зиаде Тарек. Python. Лучшие практики и инструменты. 3-е изд. —СПб., Питер, 2021. — 560 с.

А вот эта книга   точно для профи, хотя к отдельным её разделам можно обращаться и тем программистам, кто достиг уровня Junior. Если нужно развивать своё владение языком дальше Middle — обратитесь к книге под номером 5 из бонусного списка.

Книга достаточно объемна и охватывает много различных проблем — от расширенного синтаксиса языка Python 3 (в том числе за счёт использования стандартных модулей) до разработки на основе тестирования, создания пакетов и развёртывания кода. Особое внимание уделяется качеству кода.

Плюс книги: выделю раздел о полезных паттернах проектирования (кстати, о них и только о них — отдельный раздел Ещё один бонус: паттерны проектирования).

(Кажущийся) минус книги: авторы явно стремились поместить под одну обложку весь "джентльменский набор", который нужен опытному разработчику, поэтому некоторые разделы выглядят скорее введением в продвинутые техники разработки.

5. Python. Книга рецептов

Python. Книга рецептов
Бизли Дэвид, Джонс Брайан К. Python. Книга рецептов. — М.: ДМК Пресс, 2019. — 648 с.

Эту книгу вы возьмёте в руки, когда вам потребуется совет: как выполнить определённую, чётно обозначенную задачу, используя базовые возможности языка Python 3. Однако в ней есть и полезные сведения общего характера, например, глава "Тестирование, отладка и исключения" (которая тоже состоит из поставленных задач и предлагаемых решений).

Плюс книги: готовые способы решения стандартных простых задач.

(Несомненный) минус книги: она была написана в далёком уже 2013 году и не охватывает современные возможности языка, предлагающие ещё более простые и эффективные рецепты для решения тех же задач.

Бонусный список изданий по Python 3 (и не только)

Эти книги, по моему убеждению, достойны прочтения и изучения, но информация о них будет самой краткой.

1. #Сам себе программист

#Сам себе программист
Альтхофф Кори. Сам себе программист. Как научиться программировать и устроиться в eBay? — М.: Эксмо, 2020. — 208 с.

Если вам нужно самое адаптированное, написанное "человеческим языком" введение в Python 3 — то вот оно от гуманитария, который сам освоил программирование и стал программистом в одной из ведущих IT-команий.

2. Грокаем алгоритмы

Грокаем алгоритмы
Бхаргава Адитья. Грокаем алгоритмы. Иллюстрировано пособие для программистов и любопытствующих. — СПб., Питер, 2020. — 288 с.

Грокать означает проникать в суть вещей (это слово из марсианского языка, которое использовал герой культового фантастического романа Роберта Хайнлайна "Чужак в чужой стране" ). Да, без проникновения в суть алгоритмов нет программирования, поэтому данная книга тоже относится к разряду must have. Она вошла в этот топ-лист, поскольку примеры алгоритмов написаны как раз на Python.

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

Стандартная библиотека Python 3: справочник с примерами
Хеллман Даг. Стандартная библиотека Python 3: справочник с примерами. 2-е изд. — СПб., ООО "Диалектика", 2020. — 1376 с.

Уж этот фолиант никто не станет читать от первой страницы до последней! Зато перед нами — прекрасный справочник, который поможет как начинающему, так и опытному программисту: ведь Python 3 известен своими "батарейками в комплекте" — модулями, включёнными в стандартную библиотеку.

4. Секреты Python Pro

Секреты Python Pro
Хиллард Дейн. Секреты Python Pro. — СПб., Питер, 2021. — 320 .

Никаких особых секретов: просто хорошее изложение материала (по сложности — выше уровня начинающего, но ниже уровня профи), который поможет разработчику усовершенствовать свой стиль написания как небольших, так и крупных программ на Python 3. Если нужно что-то посложнее — можно сразу переключиться на следующую книгу.

5. Профессиональная разработка на Python

Профессиональная разработка на Python
Уилкс Мэттью. Профессиональная разработка на Python. — М.: ДМК Пресс, 2021. — 502 с.

Эта книга для профессиональных питонистов охватывает сложные аспекты разработки (прототипирование, тестирование, агрегирование, асинхронное программирование и др.). Впрочем, тем, кто доберётся до данного уровня владения ЯП, мои советы уже будут не нужны)

Ещё один бонус: паттерны проектирования

Погружение в паттерны проектирования

Следующую книгу можно приобрести только в электронном виде на сайте автора, поэтому я вынес её в отдельный раздел. Это   доступное введение в паттерны проектирования, которое описывает 22 классических паттерна, а также принципы, на которых они основаны:

Швец Александр. Погружение в паттерны проектирования. — 2021. (Паттерны проектирования).

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