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

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

«Изучаем Python»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Хотите стать частью нашей команды разработчиков?

Следите за актуальными вакансиями на нашем сайте.
Посмотреть вакансии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что еще почитать по теме

Каким должен быть Feature Store, чтобы оптимизировать работу с ML-моделями

В статье рассказываем о том, что нужно бизнесу от Feature Store сегодня, и разбираем архитектуру open source-платформы Feast.
Андрей Салита 30 ноября 2022

Отличия PowerShell от CMD: что использовать в работе

Рассказали о ключевых отличиях между интерпретаторами командной строки в Windows.
Андрей Салита 30 ноября 2022
T-Rex 23 ноября 2022

Как работает СУБД Redis

Рассказываем, что такое Redis: рассматриваем его применение и преимущества, поддерживаемые типы данных.
T-Rex 23 ноября 2022

Новое в блоге

Михаил Фомин 24 июня 2022

Docker Swarm VS Kubernetes — как бизнес выбирает оркестраторы

Рассказываем, для каких задач бизнесу больше подойдет Docker Swarm, а когда следует выбрать Kubernetes.
Михаил Фомин 24 июня 2022
Ульяна Малышева 8 декабря 2022

Продуктовый дайджест: предзаказ серверов на ARM и миграция с комфортом

Рассказываем об актуальных продуктовых новостях за ноябрь.
Ульяна Малышева 8 декабря 2022

Как создать Minecraft на Python? Обзор библиотеки Ursina Engine

В статье делимся основами работы с библиотекой Ursina Engine и показываем, как с помощью нее создать мир из кубов.