7 полезных книг по Python для старта и развития

7 полезных книг по Python для старта и развития

Владислав Ефименко Владислав Ефименко Главный редактор 19 октября 2022

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

Изображение записи

«Изучаем Python»

Автор: Марк Лутц

Уровень: первый том — для начинающих, второй том — для продвинутых

Илья, инженер интеграции

Бесконечно подробный в вопросах Python справочник. Это и плюс, и минус, но лучшего справочника просто нет.

«Изучаем Python» — это два тома технических подробностей и качественных примеров.

Первый том знакомит с основными конструкциями, парадигмами и модулями.

Основные разделы:

  • Типы и операции — объекты в Python, основные типы и структуры данных.
  • Операторы и синтаксис — основные операторы (присваивания, выражений, вывода) и основные конструкции (условия, циклы).
  • Функции и генераторы — общая теория про часто-используемые функции, области видимости, генераторы и включения.
  • Модули и пакеты — основные сведения, чек-лист по написанию собственных модулей (на Python).

Второй том полезен для продвинутых. Повествование начинается с объектно-ориентированного программирования и заканчивается на теме метаклассов.

Основные разделы:

  • Классы и объектно-ориентированное программирование — общая теория, детали в реализации классов, перегрузка операций и другое.
  • Исключения и инструменты — общая теория, детали обработки исключений, объекты исключений, проектирование с использованием исключений.
  • Более сложные темы — Unicode и байтовые строки, управляемые атрибуты, декораторы, метаклассы.

Есть издание, объединяющее в себе два тома. Хотите системно изучить Python — вперед. Но запаситесь терпением: это хоть и структурированный, но сложный в восприятии учебник.

Где купить или скачать

Книгу можно приобрести на сайте издательства. На данный момент заказать оригинальную бумажную версию из-за рубежа проблематично. Однако эту же книгу можно купить во многих книжных магазинах.

«Python для сетевых инженеров»

Автор: Наталья Самойленко

Уровень: начинающие

Денис, стажер в отделе развития сети

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

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

Отрывок из книги «Python для сетевых инженеров».
Отрывок из книги «Python для сетевых инженеров».

Отдельное внимание автор уделила работе с базами данных. Есть целый раздел про SQL, SQLite, модуль sqlite3, а после него — практикум на закрепление материала.

Кроме специфических разделов в книге описаны модули для веб-программистов. Например, про шаблонизатор веб-страниц Jinja.

Где купить или скачать

 Это бесплатный учебник, он доступен на сайте.

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

Автор: Билл Любанович

Уровень: начинающие

Илья, инженер интеграции

Если сравнивать с трудами Лутца, у книги идеальный размер: 350 страниц против 1600. Нет перегруза листингами с кодом, все примеры очень простые для понимания.

Эта книга для тех, кто только начинает изучать как программирование, так и сам Python. В основе — самые базовые разделы про типы данных, коллекции и основные конструкции. А предпоследняя глава — про concurrency и сети, в которой автор рассказывает про очереди, процессы и потоки. 

Кроме того, в книге есть дополнительные разделы про применение Python в науке. Сопровождаются они не только интересными, но и прикладными примерами.

Пример реализации географической карты, книга «Простой Python. Современный стиль программирования».
Пример реализации географической карты, книга «Простой Python. Современный стиль программирования».

Где купить или скачать

В бумажном и электронном вариантах можно найти здесь.

«Python. К вершинам мастерства»

Автор: Лучано Ромальо

Уровень: смешанный

Павел, архитектор сервисов работы с данными

В книге хорошо описаны разделы про потоки управления и метапрограммирование. Хотя это не простые темы.

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

Отрывок из книги «Python. К вершинам мастерства».
Отрывок из книги «Python. К вершинам мастерства».

Кроме того, книга насыщена подробными листингами с кодом и комментариями. Для некоторых это минус: учебник может показаться «нудным». Для других — плюс: такие описания помогают разобраться, как писать эффективный код.

Основные разделы:

  • Модель данных в Python — основные типы данных: строки, числа, булевы значения.
  • Структуры данных — списки, кортежи, словари, множества, специальные операторы для работы со структурами (срезы, распаковщики), numpy-массивы, всевозможные методы и многое другое.
  • Функции как объекты — основы теории, пакеты для функционального программирования, декораторы и замыкания.
  • Объектно-ориентированные идиомы — введение объектов через ссылки, работа с классами, парадигма ООП, наследования и перегразка операторов.
  • Поток управления — контекстные менеджеры, генераторы, сопрограммы и запуск программ в параллельных потоках через concurrent.futures и asyncio.
  • Метапрограммирование — свойства, дескрипторы атрибутов, декораторы классов и метаклассы.

Где купить или скачать

В бумажном и электронном вариантах можно найти здесь. На данный момент заказать оригинальную бумажную версию из-за рубежа проблематично. Однако эту же книгу можно купить во многих книжных магазинах.

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

Авторы: Дэвид Бизли, Брайан К. Джонс

Уровень: смешанный

Илья, старший бэкенд-разработчик

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

Пример из «Python. Книга рецептов».
Пример из «Python. Книга рецептов».

Если лучше воспринимаете формат «шпаргалок», это ваш вариант. В книге — рецепты почти на все случаи жизни разработчика. Есть даже инструкции по работе с потоками, памятью и ресурсами CPU.

Вот, по нашему мнению, самые интересные рецепты:

  • Написание простого модуля расширения на C — для тех, кто хочет писать «шустрые» модули.
  • Заставляем ваши программы выполняться быстрее — пригодиться, если дополнительные расширения на C не нужны, а ускорить программу нужно: автор рассказывает, как с помощью простых приемов — чистки кода и изменения его парадигмы — увеличить производительность программы.
  • Установка лимитов на использование памяти CPU — рецепт для настоящих системных администраторов; описывает, как устанавливать ресурсные ограничения для программ, выполняющихся в Unix.

Где купить или скачать

В бумажном и электронном вариантах можно найти здесь. На данный момент заказать оригинальную бумажную версию из-за рубежа проблематично. Однако эту же книгу можно купить во многих книжных магазинах.

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

Автор: Бейдер Дэн

Уровень: смешанный

Илья, старший специалист по закупке оборудования

Легкое и «не давящее» повествование с постепенным погружением в мир Python. Редкие отсылки из жизни автора оживляют книгу. Она очень приятна для изучения и помогает разобраться с разными приемами.

Подойдет для тех, кому надоела скучная литература. Автор книги не боится сказать рассказывает не скучно, разбавляет теорию разными историями. Хотя подача на любителя: если не любите объемные книги и авторские рассуждения, то посмотрите на другие учебники.

Зато в книга подробная. Прочитав ее, научитесь:

  • работать с исключениями, assert-ами, контекстными менеджерами, magic- и dunder-операциями,
  • грамотно использовать стандартные структуры, ассоциативные массивы, хеш-таблицы, коллекции данных и очереди (FIFO, LIFO, с приоритетами),
  • оптимизировать программы с помощью исследования модулей и объектов, изоляции зависимостей при помощи Virtualenv,
  • работать со стандартными конструкциями, ООП-методами и «эффективными функциями».

Где купить или скачать

В бумажном и электронном вариантах можно найти здесь.

«Паттерны разработки на Python»

Авторы: Гарри Персиваль и Боб Грегори

Уровень: профессионалы

Павел, архитектор сервисов работы с данными

Подойдет тем, кто хочет изучить современные высокоуровневые паттерны проектирования. Примеры описаны на популярных фреймкорках — Flask и SQLAlchemy.

Для построения элегантной и надежной архитектуры приложений используют паттерны — без них не обойтись при масштабировании проектов. 

Есть несколько основных групп высокоуровневых паттернов — предметно ориентированный подход (DDD), разработка через тестирование (TDD) и паттерны событийно-ориентированной архитектуры. Но их адаптация «под Python» не всегда очевидна.

Автор книги разложил все по полочкам. Для демонстрации паттернов автор рассматривает структуру реального проекта, в котором все из них используются. Поэтому книга не только полезна, но и интерактивна. Код проекта доступен на Github.

Где купить или скачать

В бумажном и электронном вариантах можно найти здесь.