Популярность языка программирования Python не в последнюю очередь связана с его универсальностью. В этой подборке мы собрали книги, посвященные использованию Python в самых разных областях. В них рассматриваются способы решения конкретных практических задач, где Python выступает в качестве инструмента.
Эта подборка будет интересна уже опытным питонистам, поскольку для понимания материала нужны хорошие знания языка.
Изучение робототехники с помощью Python
Автор: Лентин Джозеф. Язык: русский.
Автор книги, Лентин Джозеф, занимается робототехникой на коммерческом уровне. Он руководит компанией, которая разрабатывает ПО для роботов.
Эта книга — практическое руководство по созданию автономного мобильного робота. Для его проектирования и создания пользовательского интерфейса будет использоваться Python.
Книга предназначена для инженеров-робототехников. Помимо знания самого языка Python, вам пригодится хорошее знание ROS, OpenCV, OpenNI и PCL.
Прикладной анализ текстовых данных на Python
Авторы: Бенджамин Бенгфорт, Ребекка Билбро, Тони Охеда. Язык: русский.
Из этой книги вы узнаете о том, как применять методы машинного обучения для анализа текста. Вы будете использовать такие библиотеки Python, как Scikit-Learn, NLTK, Gensim, spaCy, NetworkX и Yellowbrick.
Книга предназначена для Python-программистов, интересующихся темами обработки естественного языка и машинного обучения. Все разбираемые примеры — на английском. Поэтому желательно, чтобы читатель владел этим языком хотя бы на базовом уровне. Разумеется, эта книга — не для начинающих питонистов. Читатель может не разбираться в машинном обучении, но навыки программирования на Python у него должны быть.
Text Analytics with Python
Автор: Dipanjan Sarkar. Язык: английский.
Dipanjan Sarkar — data scientist в Red Hat. Он консультировал несколько стартапов, а также некоторые солидные компании вроде Intel. Имеет диплом по data science и разработке программ, но при этом — горячий сторонник самообразования и открытых онлайн-курсов.
Вот уже несколько лет Dipanjan Sarkar занимается применением на практике методов машинного обучения, обработки естественного языка, глубокого обучения и статистики.
Что касается самой книги, автор старался сделать ее как можно более понятной и структурированной. Из первых глав вы узнаете, что такое естественный язык, а также — как можно обрабатывать текстовые данные при помощи Python. В последующих главах разбираются интересные проблемы анализа текста.
Цель книги — познакомить читателя со сферой анализа текста и NLP, а также вооружить необходимыми инструментами и знаниями для решения практических проблем в этих сферах.
Изучение сложных систем с помощью Python
Автор: Аллен Б. Дауни. Язык: русский.
Сложные системы — это физические и социальные системы со множеством взаимодействующих компонентов. Наука о них находится на стыке математики, информатики и естествознания.
В отличие от многих других книг о сложных системах, здесь приводятся примеры кода, математические выкладки и пояснения работы моделей. К каждой главе прилагаются блокноты Jupiter с соответствующим кодом (доступны в GitHub-репозитории), а также упражнения (с решениями).
Примеры в книге написаны на Python, так что читатель должен владеть этим языком, а также разбираться в ООП. Автор применяет библиотеки NumPy, SciPy и NetworkX, и если вы с ними знакомы, это облегчит вам чтение (но знание их не обязательно). Кроме того предполагается, что читатель не совсем далек от математики (в объяснениях применяются логарифмы и векторы).
Аллен Дауни — опытный автор: его перу принадлежат несколько бесплатных учебников по Python и науке о данных. Также он ведет блог о байесовской вероятности и статистике (Probably Overthinking It).
Вероятностное программирование на Python
Автор: Дэвидсон-Пайлон Кэмерон. Язык: русский.
Байесовские методы используются для работы с данными и решения задач прогнозирования, логического вывода, классификации.
Обычно книги, посвященные байесовскому выводу, переполнены математикой. По словам Кэмерона, когда он сам пытался разобраться в теме, ему было невероятно сложно — и это несмотря на глубокие математические знания. Свою книгу он решил написать в другом ключе, делая упор на вероятностное программирование.
Из-за намеренного обхода сложных математических тем книга дает лишь базовые знания про байесовские методы. Но если вас они интересуют с сугубо прикладной точки зрения, вам этот материал прекрасно подойдет.
Practical Cryptography in Python
Авторы: Seth James Nielson, Christopher K. Monson. Язык: английский.
Книга предназначена для программистов, не имеющих бэкграунда в криптографии. Несмотря на тесную связь криптографии с математикой, в этой книге нет сложных математических выкладок. Концепции криптографии разбираются на практических примерах.
В начале книги рассмотрены алгоритмы хэширования, симметричное и асимметричное шифрование. Далее авторы переходят к цифровым сертификатам, цифровым подписям и кодам аутентификации сообщений. В последних главах рассказывается, как все это используется вместе — в интересных и полезных комбинациях.
Любопытно, что авторы также приводят примеры плохого применения криптографии, чтобы показать читателям важность лучших подходов.
В конце глав вы найдете упражнения на закрепление материала.
DevOps in Python
Автор: Moshe Zadka. Язык: английский.
Аспекты применения Python, интересные SRE/DevOps-специалистам, довольно редко рассматриваются в книгах. Им приходится полагаться на официальную документацию и посты в блогах. Моше Задка решил заполнить этот пробел.
Из книги «DevOps in Python» вы узнаете, как использовать всю мощь языка Python для автоматизации операций.
Начинается все с разбора самой установки Python. Ведь есть не один способ сделать это! Автор рассматривает плюсы и минусы каждого.
Далее Моше Задка переходит к рассмотрению сторонних библиотек из экосистемы Python. Вы узнаете, как использовать эти пакеты, как построить рабочие процессы, когда их нужно обновлять и какие инструменты при этом используются.
Помимо библиотек, в книге рассматривается работа виртуальных машин, сервисов и контейнеров.
Книга рассчитана на специалистов, знающих Python.
Python Network Programming
Авторы: Abhishek Ratan, Eric Chou, Pradeeban Kathiravelu. Язык: английский.
Книга предназначена для Python-разработчиков и системных администраторов, желающих заняться сетевым программированием. Знание сетей не является необходимым для чтения этой книги, но знания Python нужны.
Вы научитесь создавать простые сетевые клиенты, SDN и NFV системы, а также расширять свои сети при помощи Mininet. Авторы рассказывают, как использовать Python для DevOps и как пользоваться опенсорсными инструментами для тестирования, обеспечения безопасности и анализа сетей.
К концу чтения книги вы будете знать, как разрабатывать клиенты веб-API, email-клиенты, SSH и FTP. Кроме того, вы научитесь анализировать уязвимости в безопасности сети.
Math adventures with Python
Автор: Peter Farrell. Язык: английский.
Иллюстрированное пособие для изучения математики при помощи кода.
В этой книге инструменты программирования использованы для того, чтобы сделать изучение математики по-настоящему интересным (хотя сложность остается). Вы будете строить графики, чтобы показать все возможные результаты работы функции. Вы будете создавать динамические, интерактивные произведения искусства. Вы даже создадите экосистему с бегающими овцами, поедающими траву и преумножающимися!
Все это вы будете делать при помощи Python. Эта книга не о том, как обойтись без изучения математики. Она лишь предлагает новейшие и интереснейшие инструменты, которые помогут не только отточить навыки программирования, но и понять его связь с математикой, искусством, науками и технологиями.
Для каждого из проектов, представленных в книге, вы будете писать код с нуля. Допуская ошибки и исправляя их, вы достигнете более глубокого понимания каждого блока кода.
Книга предназначена для людей, желающих изучить тригонометрию и алгебру при помощи современных инструментов. Python-программистам эта книга пригодится для отработки навыков на необычных проектах.
Math for Programmers
Автор: Paul Orland. Язык: английский.
Как пишет автор, математика похожа на бейсбол, поэзию или хорошее вино. Кто-то так ею увлекается, что посвящает ей всю жизнь, а кто-то ее попросту не понимает. За годы учебы в школе вы, вероятно, уже успели примкнуть к какому-то из этих двух лагерей.
Представьте, что хорошее вино было бы одним из школьных предметов. Вероятно, на уроках вы изучали бы техники ферментации и приемы выращивания винограда. В качестве домашних заданий иногда предписывалось бы выпить 3-4 бокала вина. Иногда оно было бы вкусным, иногда — нет, но в любом случае, это скорее отвратило бы вас и от вина, и от виноделия. То же и с математикой. Традиционные методы преподавания способны отбить вкус к ней.
В этой книге, как вы уже поняли из названия, для изложения математических концепций применяется программирование на Python и реальные примеры (больше никаких вопросов «Ну и где мне это пригодится в жизни?!»).
Итак, мы рассмотрели десять книг, посвященных использованию языка Python в самых разных направлениях. Надеемся, вы найдете в этой подборке пару книг, которые вас заинтересуют.