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

«Изучаем Python»
Автор: Марк Лутц
Уровень: первый том — для начинающих, второй том — для продвинутых

Бесконечно подробный в вопросах Python справочник. Это и плюс, и минус, но лучшего справочника просто нет.
«Изучаем Python» — это два тома технических подробностей и качественных примеров.
Первый том знакомит с основными конструкциями, парадигмами и модулями.
Основные разделы:
- Типы и операции — объекты в Python, основные типы и структуры данных.
- Операторы и синтаксис — основные операторы (присваивания, выражений, вывода) и основные конструкции (условия, циклы).
- Функции и генераторы — общая теория про часто-используемые функции, области видимости, генераторы и включения.
- Модули и пакеты — основные сведения, чек-лист по написанию собственных модулей (на Python).
Второй том полезен для продвинутых. Повествование начинается с объектно-ориентированного программирования и заканчивается на теме метаклассов.
Основные разделы:
- Классы и объектно-ориентированное программирование — общая теория, детали в реализации классов, перегрузка операций и другое.
- Исключения и инструменты — общая теория, детали обработки исключений, объекты исключений, проектирование с использованием исключений.
- Более сложные темы — Unicode и байтовые строки, управляемые атрибуты, декораторы, метаклассы.
Есть издание, объединяющее в себе два тома. Хотите системно изучить Python — вперед. Но запаситесь терпением: это хоть и структурированный, но сложный в восприятии учебник.
Где купить или скачать
Книгу можно приобрести на сайте издательства. На данный момент заказать оригинальную бумажную версию из-за рубежа проблематично. Однако эту же книгу можно купить во многих книжных магазинах.
«Python для сетевых инженеров»
Автор: Наталья Самойленко
Уровень: начинающие

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

Отдельное внимание автор уделила работе с базами данных. Есть целый раздел про SQL, SQLite, модуль sqlite3, а после него — практикум на закрепление материала.
Кроме специфических разделов в книге описаны модули для веб-программистов. Например, про шаблонизатор веб-страниц Jinja.
Где купить или скачать
Это бесплатный учебник, он доступен на сайте.
«Простой 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.
Где купить или скачать
В бумажном и электронном вариантах можно найти здесь.