- 10 книг по Python: как для новичков, так и для профи
- Книги для Python-разработчиков начального уровня
- Программирование на Python в примерах и задачах
- Изучаем Python: программирование игр, визуализация данных, веб-приложения
- Простой Python. Современный стиль программирования, 2-е издание
- Книги для Python-разработчиков среднего уровня
- Однострочники Python: лаконичный и содержательный код
- Большая книга проектов Python
- Алгоритмы неформально. Инструкция для начинающих питонистов
- Книги по Python для опытных разработчиков
- Внутри CPYTHON: гид по интерпретатору Python
- Машинное обучение с использованием Python. Сборник рецептов
- Black Hat Python: программирование для хакеров и пентестеров, 2-е издание
- Высокопроизводительные Python-приложения. Практическое руководство по эффективному программированию
10 книг по Python: как для новичков, так и для профи
Книг по 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-приложения. Практическое руководство по эффективному программированию
Авторы: Миша Горелик, Йен Освальд
Ну а здесь раскрываются нюансы создания высокопроизводительных приложений. Этого авторы помогают достичь благодаря ускорению кода выполнения в программах, которые работают с большими объёмами данных. Они обучают задействовать плюсы многоядерных архитектур, а также строить масштабируемые системы.