Книги по Python для начинающих: что читать и в каком порядке
Лучшие книги по Python для начинающих и следующего уровня: Мэтиз, Лутц, Свейгарт, Любанович, МакГрат, Рамальо. Как выбрать книгу и совмещать её с практикой.
Содержание · 9 разделов
- Как выбрать книгу по Python
- Сводная таблица
- Книги для изучения Python с нуля
- Эрик Мэтиз, «Изучаем Python»
- Майк МакГрат, «Программирование на Python для начинающих»
- Майкл Доусон, «Программируем на Python»
- Пол Бэрри, «Изучаем программирование на Python»
- Эл Свейгарт, «Автоматизация рутинных задач с помощью Python»
- Аллен Дауни, Think Python
- Книги-справочники
- Марк Лутц, «Изучаем Python»
- Билл Любанович, «Простой Python»
- Николай Прохоренок, Владимир Дронов, «Python 3. Самое необходимое»
- Следующий уровень: после основ
- Дэн Бейдер, «Чистый Python»
- Бретт Слаткин, «Секреты Python. 59 рекомендаций по написанию эффективного кода»
- Лучано Рамальо, «Python. К вершинам мастерства»
- Бесплатные источники вместо или вместе с книгой
- Как читать книгу по программированию
- Частые вопросы
- Какую одну книгу выбрать, если совсем ничего не знаю?
- Стоит ли начинать с Лутца?
- Можно ли выучить Python только по книгам?
- Книги или курсы?
- Читать перевод или оригинал на английском?
- Итог
Лучшие книги по Python для начинающих, которые чаще всего советуют для обучения с нуля: «Изучаем Python» Эрика Мэтиза — если нужен учебник с проектами, «Автоматизация рутинных задач с помощью Python» Эла Свейгарта — если хочется сразу полезных скриптов, и «Изучаем Python» Марка Лутца — если нужен подробный справочник по языку. После основ переходите к «Чистому Python» Дэна Бейдера и «Python. К вершинам мастерства» Лучано Рамальо.
Ниже — подборка книг на русском по уровням, с пояснением, кому подходит каждая, и советы, как выбрать книгу и совмещать чтение с практикой. Названия даны по русским изданиям; год и номер издания проверяйте в магазине перед покупкой — многие книги переиздаются.
Как выбрать книгу по Python
Прежде чем покупать, проверьте четыре вещи.
Книга про Python 3. Python 2 не поддерживается с 2020 года, но старые издания всё ещё продаются. Признаки устаревшей книги — print без скобок и функция raw_input(). В Python 3 такой код не запустится:
print "Hello"
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
Год издания и версия Python. Основы языка меняются медленно, поэтому книга под Python 3.6–3.8 для начинающего вполне годится. Но чем новее издание, тем меньше расхождений с актуальным Python: f-строки, pathlib, аннотации типов, новые возможности стандартной библиотеки. Если есть выбор между изданиями — берите свежее.
Уровень. Книга «для профи» отпугнёт новичка, а книга «с нуля» не даст ничего тому, кто уже пишет код. Ориентируйтесь на разделы ниже.
Упражнения и проекты. Без практических заданий книга превращается в чтение, а не в обучение. Лучшие книги для начинающих заканчивают главу задачами или ведут через проект.
Сводная таблица
| Книга | Автор | Уровень | Сильная сторона |
|---|---|---|---|
| «Изучаем Python» (Python Crash Course) | Эрик Мэтиз | С нуля | Основы плюс три проекта |
| «Программирование на Python для начинающих» | Майк МакГрат | С нуля | Короткая, по шагам, много иллюстраций |
| «Программируем на Python» | Майкл Доусон | С нуля | Обучение через простые игры |
| «Изучаем программирование на Python» (Head First Python) | Пол Бэрри | С нуля | Визуальная подача серии Head First |
| «Автоматизация рутинных задач с помощью Python» | Эл Свейгарт | С нуля и дальше | Практические скрипты: файлы, Excel, веб |
| «Изучаем Python» (Learning Python) | Марк Лутц | С нуля, справочник | Самое подробное описание языка |
| «Простой Python» | Билл Любанович | Начальный–средний | Язык плюс обзор экосистемы |
| «Python 3. Самое необходимое» | Николай Прохоренок, Владимир Дронов | Начальный–средний | Справочник на русском, изначально написан по-русски |
| «Чистый Python» | Дэн Бейдер | Средний | Идиомы и приёмы «питонического» кода |
| «Секреты Python. 59 рекомендаций…» (Effective Python) | Бретт Слаткин | Средний | Короткие рекомендации по стилю и практике |
| «Python. К вершинам мастерства» (Fluent Python) | Лучано Рамальо | Продвинутый | Глубокое устройство языка |
Книги для изучения Python с нуля
Эрик Мэтиз, «Изучаем Python»
В оригинале — Python Crash Course. Первая половина книги — основы: переменные, списки, словари, условия, циклы, функции, классы, файлы, исключения и тестирование. Вторая — три проекта: аркадная игра на Pygame, визуализация данных и веб-приложение на Django. Это один из самых частых ответов на вопрос «какую книгу по Python выбрать новичку»: материал подаётся последовательно, а проекты показывают, как основы складываются в программу. Книга выдержала несколько изданий — берите самое новое.
Майк МакГрат, «Программирование на Python для начинающих»
Тонкая книга из серии in easy steps: каждая тема занимает пару страниц с примерами и результатом их работы. Подходит, если толстые учебники пугают и нужно быстро понять общую картину языка. Для глубины её стоит дополнить задачами и вторым, более подробным источником.
Майкл Доусон, «Программируем на Python»
Учит основам на примере простых игр: каждая глава заканчивается небольшой игрой, использующей изученное. Подходит тем, кому важно видеть результат и кому нравится игровой формат, в том числе школьникам. Учтите, что последнее издание написано под Python 3.1 — синтаксис основ с тех пор не изменился, но некоторые библиотеки из книги устарели.
Пол Бэрри, «Изучаем программирование на Python»
Русское издание второй редакции Head First Python. Узнаваемый формат серии Head First: картинки, диалоги, упражнения, повторения. Кому-то такая подача помогает запомнить материал, кому-то кажется многословной — полистайте пару страниц перед покупкой.
Эл Свейгарт, «Автоматизация рутинных задач с помощью Python»
В оригинале — Automate the Boring Stuff with Python. Первая часть — основы языка, вторая — практические задачи: работа с файлами и папками, Excel, PDF и Word, веб-парсинг, отправка писем, регулярные выражения. Лучший выбор, если вы не собираетесь становиться программистом, но хотите избавиться от рутины на работе. Автор выложил английский текст книги в открытый доступ на своём сайте. Готовые скрипты в том же духе — в нашей статье «Автоматизация рутинных задач с помощью Python».
Аллен Дауни, Think Python
Учебник, который учит не только синтаксису, но и мышлению программиста: как разбивать задачу, отлаживать код, проектировать функции. Английский текст доступен бесплатно онлайн. Хороший выбор для тех, кто читает по-английски и хочет академичную, но не тяжёлую подачу.
Книги-справочники
Марк Лутц, «Изучаем Python»
Оригинал — Learning Python, на русском пятое издание вышло в двух томах. Это самое подробное описание языка: каждая конструкция разобрана с разных сторон, с историей и тонкостями. Минусы — огромный объём и возраст: пятое издание описывает Python 3.3 и 2.7, поэтому новых возможностей языка вроде f-строк там нет. Читать от корки до корки новичку тяжело; удобнее держать как справочник и открывать нужную главу, когда тема из учебника осталась непонятной.
Не путайте с другой книгой Лутца — «Программирование на Python» (Programming Python): она о прикладном программировании и рассчитана на тех, кто уже знает язык.
Билл Любанович, «Простой Python»
Оригинал — Introducing Python. Сочетает основы языка с обзором экосистемы: стандартная библиотека, работа с данными, веб, сети, параллелизм. Полезна тем, кто освоил основы и хочет понять, что вообще можно делать на Python и какие инструменты для этого есть.
Николай Прохоренок, Владимир Дронов, «Python 3. Самое необходимое»
Книга русскоязычных авторов — её не нужно переводить, поэтому терминология в ней естественная. Построена как подробный справочник по языку и стандартной библиотеке с примерами. Удобна как настольная книга к курсу или учебнику.
Следующий уровень: после основ
Дэн Бейдер, «Чистый Python»
Оригинал — Python Tricks. Короткие главы о том, как писать идиоматичный код: декораторы, контекстные менеджеры, генераторы, распаковка, приёмы работы со словарями и классами. Читается легко и закрывает разрыв между «код работает» и «код написан как принято в Python».
Бретт Слаткин, «Секреты Python. 59 рекомендаций по написанию эффективного кода»
Русский перевод первого издания Effective Python (2015): набор отдельных рекомендаций, каждая с объяснением и примером. Её удобно читать по одной главе, сразу применяя совет в своём коде. Учтите возраст перевода: примеры в нём даны для Python 3 и 2.7. В оригинале книга с тех пор переиздавалась, третье издание содержит уже 125 рекомендаций — если читаете по-английски, берите его.
Лучано Рамальо, «Python. К вершинам мастерства»
Оригинал — Fluent Python. Глубокое погружение в модель данных Python: специальные методы, последовательности и словари изнутри, функции как объекты, итераторы и генераторы, метапрограммирование, асинхронность. Это не книга для старта: берите её, когда уверенно пишете на Python и хотите понимать, почему язык устроен так, а не иначе.
Бесплатные источники вместо или вместе с книгой
- Официальный учебник The Python Tutorial — короткий, точный и всегда соответствует актуальной версии языка; на английском.
- Automate the Boring Stuff with Python и Think Python — английские тексты обеих книг доступны онлайн бесплатно.
- Документация стандартной библиотеки на docs.python.org — то, к чему вы всё равно придёте, когда книга закончится.
Как читать книгу по программированию
Книга по Python работает, только если вы пишете код вместе с ней.
- Набирайте примеры руками, а не копируйте. Ошибки при наборе — тоже обучение: вы научитесь читать traceback.
- Меняйте каждый пример: другие данные, другое условие, ещё одна функция. Предскажите результат до запуска.
- Делайте упражнения в конце глав. Если их нет, берите задачи по Python с решениями по той же теме.
- После 3–4 глав — маленький проект. Идеи для них — в подборке проектов на Python для начинающих.
- Одна основная книга. Вторую открывайте как справочник, когда тема осталась непонятной, а не читайте три учебника параллельно.
Для работы с примерами понадобится установленный Python — инструкция в статье «Как установить Python».
Частые вопросы
Какую одну книгу выбрать, если совсем ничего не знаю?
Если нужен учебник общего профиля — Мэтиза. Если цель практическая, автоматизировать работу с файлами и таблицами, — Свейгарта. Если толстые книги отпугивают — МакГрата, а затем переходите к одной из первых двух.
Стоит ли начинать с Лутца?
Можно, если вам нравится подробная, неспешная подача и вы готовы к большому объёму. Большинству новичков проще начать с компактного учебника и использовать Лутца как справочник.
Можно ли выучить Python только по книгам?
Основы — да, если решать упражнения и писать свои программы. Но книга не проверит ваш код: дополняйте её задачами с автоматической проверкой и собственными проектами.
Книги или курсы?
Они дополняют друг друга. Книга даёт системность и глубину, курс — темп и обратную связь. Хорошая схема — один основной источник, второй как дополнение, и обязательно практика.
Читать перевод или оригинал на английском?
Для первой книги удобнее перевод: на родном языке проще разобраться в новых понятиях. Для книг следующего уровня учитывайте, что переводы отстают от оригиналов на одно-два издания. Если английского хватает, чтобы читать техтекст с переводчиком под рукой, свежий оригинал часто полезнее старого перевода.
Итог
Для старта выберите одну книгу — Мэтиза, Свейгарта или МакГрата, — держите под рукой справочник вроде Лутца или Прохоренка и Дронова, а после основ переходите к Бейдеру и Рамальо. Главное правило — читать с открытым редактором. Общий план обучения — в маршруте «Python с нуля» и дорожной карте Python, остальные материалы для новичков — в разделе «Python с нуля: основы и обучение».
- #Python
- #Книги
- #Обучение
- #Для начинающих
- #Python с нуля