Книг по Python довольно много, среди них есть отличные издания, которые будут полезны разработчику любого уровня. Собственно, эту подборку мы и подготовили в расчёте на специалистов с разным опытом и багажом знаний. Книги постарались упорядочить по возрастанию уровня сложности, с указанием плюсов и минусов (если они есть). Итак, поехали!
Книги для Python-разработчиков начального уровня
Программирование на Python в примерах и задачах
Автор: Васильев А. Н.
Книга знакомит читателя с базовыми методами, подходами и конструкциями, которые критически важны для изучения языка. В частности, для понимания принципов его использования на практике. Написана книга таким образом, чтобы быть понятной начинающему разработчику. Сложные (относительно) вещи тоже есть, но и они подробно разъясняются. Возрастной рейтинг — 12+, так что подходит издание и школьникам, и студентам.
Сильные стороны книги:
автор приводит большое количество примеров кода;
книга хорошо структурирована.
Недостатки:
практически нет.
Изучаем Python: программирование игр, визуализация данных, веб-приложения
Автор: Эрик Мэтиз
Книга состоит из двух частей — теоретической и практической. В первой части автор раскрывает базовые концепции языка программирования. Также знакомит с основами тестирования кода, включая как переменные, так и списки, классы и циклы.
Во второй части уже практическое обучение: читателю предстоит написать несложную 2D-игру, а также веб-приложение на Django. Кроме того, рассказывается о визуализации данных с использованием Matplotlib и Plotly. Кстати, о визуализации в мире Python мы уже писали — статья доступна вот по этой ссылке, она может пригодиться как опытному специалисту, так и начинающему разработчику.
Сильные стороны книги:
она будет понятна даже «зелёному» новичку;
есть упражнения для закрепления материала в каждом разделе;
язык книги не сухой и формальный, что также улучшает восприятие.
Недостатки:
примеры из книги хороши в качестве упражнения, но сами они не особо актуальны. Возможно, мы просто излишне придираемся, но было бы неплохо помочь новичкам разработать что-то простое, но актуальное.
Простой Python. Современный стиль программирования, 2-е издание
Автор: Любанович Б.
Эта книга даёт возможность не только изучить базовые для языка Python понятия, но и узнать о практиках тестирования ПО, об отладке, повторном использовании кода, асинхронном программировании. Как и в некоторых других книгах об этом ЯП, есть теория и практические задачи. Кстати, во втором издании появился раздел с f-строками, что даёт больше информации читателю.
Сильные стороны книги:
информация излагается очень последовательно, структура книги хорошая;
примеры простые, проблем с ними не должно быть;
язык книги простой, автор излагает некоторые идеи с юмором.
Недостатки:
особых проблем нет.
Книги для Python-разработчиков среднего уровня
Однострочники Python: лаконичный и содержательный код
Автор: Майер Кристиан
Книга достаточно специфическая — она учит читать и писать… Нет, не буквы и слова, а лаконичные и достаточно функциональные однострочники. Автор понятным языком объясняет сложные вещи, а также демонстрирует примеры использования однострочников для разных задач.
Он также учит разбирать и понимать код на Python и использовать эти знания в собственной работе. Раскрываются хитрости и приёмы написания кода, регулярные выражения, полезные алгоритмы. И конечно, подробно разъясняются самые важные понятия computer science.
Сильные стороны книги:
хороший стиль изложения;
большое количество полезной информации;
есть примеры кода.
Недостатки:
их практически нет. Возможно, вы читали эту книгу? Если да, то что скажете?
Большая книга проектов Python
Автор: Свейгарт Эл
Эта книга рассчитана на тех, кто уже освоил основы Python и готов двигаться дальше. Вот что можно найти внутри:
«виселица», блэкджек и другие игры, в которые можно играть самому или с друзьями;
имитационные модели лесных пожаров, бросков игральных костей и японских счётов-абаки;
анимированные изображения аквариума, вращающегося куба и логотипа DVD, отскакивающего от краёв экрана;
трёхмерная «бродилка» по лабиринту;
криптография, шифры Виженера и ROT13, позволяющие надёжно спрятать ваш текст.
Автор даёт описание программы, результат её выполнения плюс код с весьма понятным и подробным объяснением. Есть, конечно, и задачи для самостоятельной работы.
Сильные стороны книги:
в ней действительно много всего полезного, этим она и хороша;
книга написана хорошим языком.
Недостатки:
мы их не заметили.
Алгоритмы неформально. Инструкция для начинающих питонистов
Автор: Такфилд Брэдфорд
Как и предыдущее издание, эта книга рассчитана на тех, кто уже знаком с основами ЯП. Название раскрывает содержание — автор знакомит нас с нюансами реализации многих популярных алгоритмов. Также читателя учат измерять и оптимизировать их производительность. Кроме того, можно научиться ещё вот чему:
поиск максимумов и минимумов с помощью алгоритма градиентного спуска;
использование алгоритмов отладки кода, генерация случайных чисел;
разработка настольных игр, включая головоломки.
Сильные стороны книги:
практическое обучение читателя;
разработка относительно несложных игр и чат-ботов.
Недостатки:
что ж такое-то, их снова нет.
Книги по Python для опытных разработчиков
Внутри CPYTHON: гид по интерпретатору Python
Автор: Энтони Шоу
Автор рассказывает о принципах работы внутренних механизмов языка. Даются задания, которые позволяют на практике понять то, о чём рассказывает Шоу. В частности, раскрываются такие нюансы, как:
грамматика и язык Python;
почему CPython написан на C, а не на Python;
спецификация языка Python;
документация языка;
файл грамматики и многое-многое другое.
Читатель, освоив изложенные в книге материалы, сможет разобраться с основными концепциями внутреннего устройства CPython и научиться:
читать исходный код интерпретатора CPython и свободно ориентироваться в нём;
вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython;
понимать внутреннюю реализацию таких структур, как списки, словари и генераторы;
управлять памятью CPython;
масштабировать код Python за счёт параллелизма и конкурентного выполнения;
дополнять базовые типы новой функциональностью, выполнять наборы тестов;
профилировать и проводить бенчмарк Python-кода и исполнительной среды;
отлаживать код C и Python на профессиональном уровне;
изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.
Сильные стороны книги:
уникальная информация, которая будет полезна многим разработчикам и которой нет или почти нет в других книгах;
хорошо структурированный материал.
Недостатки:
стоимость книги высоковата.
Машинное обучение с использованием Python. Сборник рецептов
Автор: Элбон Крис
В книге содержится сразу 200 рецептов решения многих задач машинного обучения. Авторы приводят решения, используя векторы, матрицы и массивы, линейную и логистическую регрессию, деревья, леса и k ближайших соседей, кластеризацию и нейронные сети. Если описать всё содержимое, то это будет отдельная статья, так что лучше ознакомиться самостоятельно.
Сильные стороны книги:
автор раскрывает неочевидные приёмы работы, о которых не все знают;
приводятся примеры решения частых проблем ML и DS.
Недостатки:
практически нет, разве что написано суховато, но и тема соответствующая.
Black Hat Python: программирование для хакеров и пентестеров, 2-е издание
Авторы: Джастин Зейтц, Тим Арнольд
Это уже второе издание популярной книги. Она даёт возможность изучить обратную сторону медали, то есть узнать о вещах вроде кражи учётных данных пользователя, написания сетевых снифферов, создания фазеров мутаций, создания скрытых троянов. Всё это используют как взломщики, так и пентестеры, специалисты по информационной безопасности. Книга подходит тем из читателей, кто занимается поддержанием безопасности сетей и компьютерных систем.
Сильные стороны книги:
интересные нюансы работы пентестера;
всегда интересно прикоснуться к «запретному плоду».
Недостатки:
либо нет, либо мы их просто не обнаружили.
Высокопроизводительные Python-приложения. Практическое руководство по эффективному программированию
Авторы: Миша Горелик, Йен Освальд
Ну а здесь раскрываются нюансы создания высокопроизводительных приложений. Этого авторы помогают достичь благодаря ускорению кода выполнения в программах, которые работают с большими объёмами данных. Они обучают задействовать плюсы многоядерных архитектур, а также строить масштабируемые системы.
Сильные стороны книги:
авторы рассказывают просто о сложных вещах.
Недостатки:
мы их снова не нашли.
zabanen2
с такой статьей какой ответ вы заготовили на вопрос: "почему в подборке нет Лутца?"