Попросили коллег порекомендовать книги по изучению 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,
  • работать со стандартными конструкциями, ООП-методами и «эффективными функциями».

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


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

Возможно, эти подборки тоже вас заинтересуют:

8 книг по PostgreSQL для новичков и профессионалов
Книги по MySQL: пособия для начинающих и продолжающих
Книги по SQL: что почитать новичкам и специалистам

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


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


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

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

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

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

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


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

Комментарии (7)


  1. nikolay_karelin
    19.10.2022 12:59
    +3

    К сожалению, даже книга Любановича довольно сильно разрослась (500+ страниц во втором издании), не всегда можно просто так дать новичку для входа.

    Раньше была очень хорошая и короткая книга Dive into Python (сам по ней в язык входил), есть бесплатно в сети. Но к сожалению, ее давно не обновляли.


    1. Doctor_IT Автор
      19.10.2022 16:14

      Добрый день! Спасибо за уточнение и рекомендацию)


  1. redsunru
    19.10.2022 13:23
    +2

    Есть неплохой справочник в котором все изложено довольно-таки лаконично и понятно. Теория, плюс небольшое количество примеров. Называется "Справочник Python", Кольцов Д.М., Дубовик Е.В.


  1. WLMike
    19.10.2022 19:48
    +1

    Fluent Python


    1. nikolay_karelin
      19.10.2022 20:57
      +1

      Его автор уже упомянул. Русская версия называлась "Python. К вершинам мастерства".

      На английском уже появилось второе издание. Сильно растолстело - 1000 страниц. Но по моему опыту - это mustread если надо стать сеньером.


  1. Dimsml
    20.10.2022 13:15
    +1

    Во-первых, не понимаю для кого написан Лутц. Такое ощущение, что автор писал роман или ему платили постранично, но это точно не первая книга для тех кто не умеет программировать. 1500 страниц про язык и очень мало всего про базовые концепции.

    Для новичка в программировании лучше взять Introduction to Computation and Programming Using Python, Third Edition от John V. Guttag, там хотя бы вводят в базовые концепции, объясняют как оно всё устроено и зачем оно вообще надо. Правда я не знаю, есть ли перевод, вероятно нет.

    Для тех же, кто умеет программировать слишком много воды, такое ощущение, что встроеннгую справку скопипастили.

    Во-вторых, какие два тома в Learning Python, если там один кирпич? Если вы имеете в виду, что на русском издали в двух томах, то и ссылку надо давать на издание на русском.

    Короче, создаётся такое ощущение, что аффтар статьи сам эти книги не читал и вообще в глаза ни разу не видел.


  1. architux
    21.10.2022 04:10
    +2

    Немного неожиданный подход к оформлению статьи. По умолчанию ожидаешь увидеть в фотографиях авторов книг, а там оказываются сотрудники, рекомендующие книги этих авторов.-)