10 книг по Python: как для новичков, так и для профи

Книг по Python довольно много, среди них есть отличные издания, которые будут полезны разработчику любого уровня. Собственно, эту подборку мы и подготовили в расчёте на специалистов с разным опытом и багажом знаний. Книги постарались упорядочить по возрастанию уровня сложности, с указанием плюсов и минусов (если они есть). Итак, поехали!

0dc19025d82ab21cd7a3517967178886.png

Книги для Python-разработчиков начального уровня

Программирование на Python в примерах и задачах

Автор: Васильев А. Н.

a5113ae8d0a3a4882c0d05d6b0e74085.jpg

Книга знакомит читателя с базовыми методами, подходами и конструкциями, которые критически важны для изучения языка. В частности, для понимания принципов его использования на практике. Написана книга таким образом, чтобы быть понятной начинающему разработчику. Сложные (относительно) вещи тоже есть, но и они подробно разъясняются. Возрастной рейтинг — 12+, так что подходит издание и школьникам, и студентам.

Сильные стороны книги:

Недостатки:

Изучаем Python: программирование игр, визуализация данных, веб-приложения

Автор: Эрик Мэтиз

b9089a256c6ab9b4cf5f0f93fece181d.jpg

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

Во второй части уже практическое обучение: читателю предстоит написать несложную 2D-игру, а также веб-приложение на Django. Кроме того, рассказывается о визуализации данных с использованием Matplotlib и Plotly. Кстати, о визуализации в мире Python мы уже писали — статья доступна вот по этой ссылке, она может пригодиться как опытному специалисту, так и начинающему разработчику.

Сильные стороны книги:

  • она будет понятна даже «зелёному» новичку;

  • есть упражнения для закрепления материала в каждом разделе;

  • язык книги не сухой и формальный, что также улучшает восприятие.

Недостатки:

  • примеры из книги хороши в качестве упражнения, но сами они не особо актуальны. Возможно, мы просто излишне придираемся, но было бы неплохо помочь новичкам разработать что-то простое, но актуальное.

Простой Python. Современный стиль программирования, 2-е издание

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

f0b398c4ada27a5d5cc1df9e3d40713e.jpg

Эта книга даёт возможность не только изучить базовые для языка Python понятия, но и узнать о практиках тестирования ПО, об отладке, повторном использовании кода, асинхронном программировании. Как и в некоторых других книгах об этом ЯП, есть теория и практические задачи. Кстати, во втором издании появился раздел с f-строками, что даёт больше информации читателю.

Сильные стороны книги:

  • информация излагается очень последовательно, структура книги хорошая;

  • примеры простые, проблем с ними не должно быть;

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

Недостатки:

Книги для Python-разработчиков среднего уровня

Однострочники Python: лаконичный и содержательный код

Автор: Майер Кристиан

6ce08dd7a0210ca0a500ac406718e549.jpg

 Книга достаточно специфическая — она учит читать и писать… Нет, не буквы и слова, а лаконичные и достаточно функциональные однострочники. Автор понятным языком объясняет сложные вещи, а также демонстрирует примеры использования однострочников для разных задач.

Он также учит разбирать и понимать код на Python и использовать эти знания в собственной работе. Раскрываются хитрости и приёмы написания кода, регулярные выражения, полезные алгоритмы. И конечно, подробно разъясняются самые важные понятия computer science.

Сильные стороны книги:

  • хороший стиль изложения;

  • большое количество полезной информации;

  • есть примеры кода.

Недостатки:

  • их практически нет. Возможно, вы читали эту книгу? Если да, то что скажете?

Большая книга проектов Python

Автор: Свейгарт Эл

e09f8f49476ef109fa7b3e7f55a52242.jpg

Эта книга рассчитана на тех, кто уже освоил основы Python и готов двигаться дальше. Вот что можно найти внутри:

  • «виселица», блэкджек и другие игры, в которые можно играть самому или с друзьями;

  • имитационные модели лесных пожаров, бросков игральных костей и японских счётов-абаки;

  • анимированные изображения аквариума, вращающегося куба и логотипа DVD, отскакивающего от краёв экрана;

  • трёхмерная «бродилка» по лабиринту;

  • криптография, шифры Виженера и ROT13, позволяющие надёжно спрятать ваш текст.

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

Сильные стороны книги:

  • в ней действительно много всего полезного, этим она и хороша;

  • книга написана хорошим языком.

Недостатки:

Алгоритмы неформально. Инструкция для начинающих питонистов

Автор: Такфилд Брэдфорд

daa970731ffe33cd811cd56c099019f9.jpg

Как и предыдущее издание, эта книга рассчитана на тех, кто уже знаком с основами ЯП. Название раскрывает содержание — автор знакомит нас с нюансами реализации многих популярных алгоритмов. Также читателя учат измерять и оптимизировать их производительность. Кроме того, можно научиться ещё вот чему:

  • поиск максимумов и минимумов с помощью алгоритма градиентного спуска;

  • использование алгоритмов отладки кода, генерация случайных чисел;

  • разработка настольных игр, включая головоломки.

Сильные стороны книги:

Недостатки:

Книги по Python для опытных разработчиков

Внутри CPYTHON: гид по интерпретатору Python

Автор: Энтони Шоу

6a8bcb6438859b07fc148022eea4bcdb.jpg

Автор рассказывает о принципах работы внутренних механизмов языка. Даются задания, которые позволяют на практике понять то, о чём рассказывает Шоу. В частности, раскрываются такие нюансы, как:

  • грамматика и язык Python;

  • почему CPython написан на C, а не на Python;

  • спецификация языка Python;

  • документация языка;

  • файл грамматики и многое-многое другое.

Читатель, освоив изложенные в книге материалы, сможет разобраться с основными концепциями внутреннего устройства CPython и научиться:

  • читать исходный код интерпретатора CPython и свободно ориентироваться в нём;

  • вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython;

  • понимать внутреннюю реализацию таких структур, как списки, словари и генераторы;

  • управлять памятью CPython;

  • масштабировать код Python за счёт параллелизма и конкурентного выполнения;

  • дополнять базовые типы новой функциональностью, выполнять наборы тестов;

  • профилировать и проводить бенчмарк Python-кода и исполнительной среды;

  • отлаживать код C и Python на профессиональном уровне;

  • изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.

Сильные стороны книги:

  • уникальная информация, которая будет полезна многим разработчикам и которой нет или почти нет в других книгах;

  • хорошо структурированный материал.

Недостатки:

Машинное обучение с использованием Python. Сборник рецептов

Автор: Элбон Крис

914277ad497030b842c799cecb1fe3c1.jpg

В книге содержится сразу 200 рецептов решения многих задач машинного обучения. Авторы приводят решения, используя векторы, матрицы и массивы, линейную и логистическую регрессию, деревья, леса и k ближайших соседей, кластеризацию и нейронные сети. Если описать всё содержимое, то это будет отдельная статья, так что лучше ознакомиться самостоятельно.

Сильные стороны книги:

  • автор раскрывает неочевидные приёмы работы, о которых не все знают;

  • приводятся примеры решения частых проблем ML и DS.

Недостатки:

  • практически нет, разве что написано суховато, но и тема соответствующая.

Black Hat Python: программирование для хакеров и пентестеров, 2-е издание

Авторы: Джастин Зейтц, Тим Арнольд

68a63f8ea59e961c38a2dae792a7a7ed.jpg

Это уже второе издание популярной книги. Она даёт возможность изучить обратную сторону медали, то есть узнать о вещах вроде кражи учётных данных пользователя, написания сетевых снифферов, создания фазеров мутаций, создания скрытых троянов. Всё это используют как взломщики, так и пентестеры, специалисты по информационной безопасности. Книга подходит тем из читателей, кто занимается поддержанием безопасности сетей и компьютерных систем.

Сильные стороны книги:

Недостатки:

Высокопроизводительные Python-приложения. Практическое руководство по эффективному программированию

Авторы: Миша Горелик, Йен Освальд

651998a496c93bf357092374640cd34f.png

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

Сильные стороны книги:

Недостатки:

© Habrahabr.ru