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