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

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

7 полезных книг по 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.

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

Подпишитесь на блог Selectel, чтобы не пропустить новые обзоры книг, новости и кейсы из мира IT и технологий.

Читать также:

5252
12 комментариев

Если совсем с 0, то Тимофей Хирьянов на ютуб.
База + алгоритмическая подготовка в одном флаконе.

его лекции для студентов

4
Ответить

Хороший канал) Спасибо за рекомендацию!

Ответить

От души !

3
Ответить

Мы старались)

Ответить

В 2022 году реально имеет смысл обучаться по бумажным книгам? Если не применять этот тут же на практике, разве эффект не намного ниже?
Или сидеть в с книгой перед компьютером и переписывать из книги код это эффективно?

Ответить

дело не в коде из книги, дело в описании почему сделано так а не иначе и какие приемы тут использовались.
Вообще в нормальных книгах обычно материал более полно изложен чем в статьях/видео в интернете и намного понятнее чем в документации + указание на то как стоит делать, а как не стоит. А вот статьи в интернете не редко содержат плохие рекомендации

5
Ответить

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

Бумажные, скорее, для любителей "классики": тех, кто любит пополнять свою коллекцию новыми артефактами, перелистывать страницы и выделять ключевые мысли. А для быстрой работы с кодом и программами лучше подойдут электронные варианты книги.

Какие форматы для обучения обычно используете вы?

1
Ответить