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

ybniiwg9s06dekqq_yeaafxiznc.png


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

«Изучаем Python»


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

ioq78-gmq3dyev3b8famniay4-u.png


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

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


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

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

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

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


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

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

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


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

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


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

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


Автор: Наталья Самойленко
Уровень: начинающие

oarnvn22i7q3up2pwtzmryhqkj0.png


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

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


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

n8hyyujvdjwbw2bwotao0w55vhi.png


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

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

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

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


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

5wf6q551s0ig-eohrr6hibm19yo.png

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


Автор: Билл Любанович
Уровень: начинающие

ioq78-gmq3dyev3b8famniay4-u.png


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

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


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

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

9krntt_ju2w3izgemzztlr1zung.png


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

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


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

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


Автор: Лучано Ромальо
Уровень: смешанный

t9kgntwcp-ykwhz9rp87uhvsbua.png


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

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


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

u5psu0hy2gme5j0fs5ntv7d9rjw.png


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

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

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

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


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


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

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


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

dvotazjwnn6v97z1z7nrhc9ydbu.png


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

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


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

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

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

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


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


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

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


Автор: Бейдер Дэн
Уровень: смешанный

wbqd0nqtcqz-hjx6ypm7fvzzc0g.png


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

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


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

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

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


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


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

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

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


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


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

t9kgntwcp-ykwhz9rp87uhvsbua.png


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

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


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

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

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

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


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

© Habrahabr.ru