16 книг по Python для «чайников» и «богов» программирования (или почти богов)
Мы собрали большую подборку книг по Python, которые помогают новичкам выучить базу, старичкам — отточить навыки, улучшить код и узнать больше о возможностях языка, а также добавили много литературы для углубленного чтения.
Для новичков
Конечно, обещание выучить язык программирования за неделю — маркетинговый ход, но содержание книги точно будет полезным. Здесь описано:
- краткое введение в Python, его история и основные приложения;
- инструкция, как установить Python и какой дистрибутив использовать лучше всего;
- все объекты и методы в Python;
- элементы расширенного программирования вроде Github, pip, Virtual Environment и Unit Testing;
- есть примеры кода и упражнения в конце каждой главы.
Python Programming for the Absolute Beginner, 3rd Edition (Michael Dawson)
Надежное введение в программирование «для чайников». Книга обучает принципам программирования с помощью простого создания игр. В главах вы найдете примеры кода, иллюстрирующие представленные концепции. В конце каждой главы — полная игра, демонстрирующую ключевые идеи раздела, и набор задач для закрепления знаний.
The Big Book of Small Python Projects: 81 Easy Practice Programs (Al Sweigart)
Теоретическая база и синтаксис Python уже освоены? Тогда пора переходить к этой книге и учиться писать программы. Здесь собрана коллекция из 81 проекта Python, по которым можно создавать игры вроде Блэкджек, анимации, программы для счета, шифрования и другое. Также автор учит креативить — добавлять в код свои собственные штрихи.
Classic Computer Science Problems in Python (David Kopec, Lisa Farina)
И-и-и снова повышаем сложность. Здесь задачи помогут оттачивать навыки решения проблем с помощью проверенных сценариев, упражнений и алгоритмов с использованием Python. В книге десятки задач по кодированию, начиная от простых, таких как алгоритмы бинарного поиска, и заканчивая кластеризацией данных с использованием k-средних. Также вы узнаете больше про нейросети, генетические алгоритмы, состязательный поиск.
Баттерс с книгой, иллюстрация
Дополнительно
Начинающим (и не очень) программистам полезны не только те книги, в названиях которых видите «Python» — работодатель будет требовать от вас также знаний других инструментов и технологий. Так что мотайте на ус.
Head First Git: A Learner’s Guide to Understanding Git from the Inside Out 1st Edition (Raju Gandhi)
GitHub нужен не только для того, чтобы бездумно «передирать» чей-то код. Авторы этого руководства помогут понять, как на самом деле работает Git, раскрывают весь его потенциал. Здесь есть информация о способах работы с Git, ветках, слиянии, утилитах, рекомендации по работе с сообщениями коммитов и поиску, и многое другое.
Свежее четвертое издание популярной книги, обновленное под современные реалии. Книга подробно охватывает широкий спектр алгоритмов, но делает их разработку и анализ доступными для читателей любого уровня. Кроме теории, в книге более 160 задач и упражнений.
Первые девять глав — общее введение в теорию графов, требующее лишь некоторых знаний в области теории множеств и матричной алгебры. Темы включают пути и схемы, «деревья» и фундаментальные схемы, плоские и двойственные графы, векторное и матричное представление графов, а также связанные темы.
Остальные шесть — более продвинутые: они охватывают алгоритмы теории графов и компьютерные программы, графы в теории коммутации и кодирования, анализ электрических сетей с помощью теории графов, теорию графов в исследовании операций и многое другое.
The Recursive Book of Recursion: Ace the Coding Interview with Python and JavaScript (Al Sweigart)
Рекурсия среди программистов считается продвинутой темой, но в ней нет ничего волшебного. Книга использует примеры Python и JavaScript для обучения основам рекурсии, и разъясняет фундаментальные принципы всех рекурсивных алгоритмов. Авторы рассказывают, когда именно использовать рекурсивные функции (и когда этого делать не нужно), как реализовать классические рекурсивные алгоритмы, а также какие проблемы они могут помочь решить.
Полное руководство по SQL для программистов разного уровня — начинающих (первая книга), среднего и продвинутого уровня (вторая и третья соответственно). Кроме теории SQL и разъяснений, чем же хороша эта технология для взаимодействия с базами данных, есть куча практических рекомендаций и упражнений.
Docker является де-факто стандартом для контейнеризации приложений. Книга поможет понять, как обеспечить бесперебойную работу рабочего процесса развертывания с помощью контейнеров Docker, изучить концепции Docker и DevOps, такие как непрерывная интеграция и непрерывное развертывание (CI/CD). Также она ознакомит с различными инструментами и библиотеками.
Data Structures the Fun Way: An Amusing Adventure with Coffee-Filled Examples (Jeremy Kubica)
Это углубленное введение в вычислительное мышление через призму структур данных — это важно для любого начинающего программиста. Здесь есть подробный разбор, как работать с 15 ключевыми структурами данных — от стеков, очередей и кэшей до фильтров Блума, списков пропуска и графиков.
PRO
Если вы в программировании не новичок — прекрасно самостоятельно пишите код, но хотите отточить мастерство, или же вам интересно познать все возможности Python и смежных технологий, на выручку придут следующие книги.
Fluent Python: Clear, Concise, and Effective Programming 2nd Edition (Luciano Ramalho)
Многие опытные программисты пытаются загнать Python в шаблон, которые они узнали из других языков, и никогда не открывают для себя возможности Python за пределами своего опыта. Практическое руководство научит писать эффективный идиоматический код на Python, используя его лучшие — и, временами, забытые — функции. Автор познакомит с основными функциями и библиотеками языка Python и покажет, как сделать код короче, быстрее и читабильнее.
Основываясь на многолетнем опыте создания инфраструктуры Python в Google, Слаткин раскрывает малоизвестные особенности и идиомы, которые сильно влияют на поведение и производительность кода. Читателям рассказывают, как лучше всего выполнять ключевые задачи, чтобы писать код, который легче понять, поддерживать и улучшать. В книге много советов и примеров реального кода.
Если вас интересует ниша ИИ (и вы уже здесь кое-что соображаете), смело берите эту книгу. Она поможет разобраться в ключевые аспектах и проблемах интерпретируемости машинного обучения, как преодолеть их с помощью методов интерпретации, а также как использовать эти методы их для создания более безопасных и надежных моделей.
А эта книга будет полезна для специалистов, которые хотели бы работать с электроникой и разрабатывать приложения, которые взаимодействуют с гаджетами вроде смарт-часов, например. В ней разбирают, как использовать Python и Raspberry Pi для создания сложных приложений IoT (интернета вещей), способных создавать и обнаруживать движение, измерять расстояние, освещенность и множество других условий окружающей среды.
77 Python Advanced Programming Exercises (Edcorner Learning)
И, напоследок, сборник задач высокого уровня сложности для «прокачанных» программистов. Он поможет отработать разные темы и подготовиться к техническому интервью по кодированию, параллельно улучшая хард-скилы.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: