Django-Admin.ru

Книги по Python для начинающих: что читать и в каком порядке

Лучшие книги по Python для начинающих и следующего уровня: Мэтиз, Лутц, Свейгарт, Любанович, МакГрат, Рамальо. Как выбрать книгу и совмещать её с практикой.

Редакция Django-Admin.ru
· обновлено · 9 мин чтения

Содержание · 9 разделов
  1. Как выбрать книгу по Python
  2. Сводная таблица
  3. Книги для изучения Python с нуля
  4. Эрик Мэтиз, «Изучаем Python»
  5. Майк МакГрат, «Программирование на Python для начинающих»
  6. Майкл Доусон, «Программируем на Python»
  7. Пол Бэрри, «Изучаем программирование на Python»
  8. Эл Свейгарт, «Автоматизация рутинных задач с помощью Python»
  9. Аллен Дауни, Think Python
  10. Книги-справочники
  11. Марк Лутц, «Изучаем Python»
  12. Билл Любанович, «Простой Python»
  13. Николай Прохоренок, Владимир Дронов, «Python 3. Самое необходимое»
  14. Следующий уровень: после основ
  15. Дэн Бейдер, «Чистый Python»
  16. Бретт Слаткин, «Секреты Python. 59 рекомендаций по написанию эффективного кода»
  17. Лучано Рамальо, «Python. К вершинам мастерства»
  18. Бесплатные источники вместо или вместе с книгой
  19. Как читать книгу по программированию
  20. Частые вопросы
  21. Какую одну книгу выбрать, если совсем ничего не знаю?
  22. Стоит ли начинать с Лутца?
  23. Можно ли выучить Python только по книгам?
  24. Книги или курсы?
  25. Читать перевод или оригинал на английском?
  26. Итог

Лучшие книги по 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 работает, только если вы пишете код вместе с ней.

  1. Набирайте примеры руками, а не копируйте. Ошибки при наборе — тоже обучение: вы научитесь читать traceback.
  2. Меняйте каждый пример: другие данные, другое условие, ещё одна функция. Предскажите результат до запуска.
  3. Делайте упражнения в конце глав. Если их нет, берите задачи по Python с решениями по той же теме.
  4. После 3–4 глав — маленький проект. Идеи для них — в подборке проектов на Python для начинающих.
  5. Одна основная книга. Вторую открывайте как справочник, когда тема осталась непонятной, а не читайте три учебника параллельно.

Для работы с примерами понадобится установленный Python — инструкция в статье «Как установить Python».

Частые вопросы

Какую одну книгу выбрать, если совсем ничего не знаю?

Если нужен учебник общего профиля — Мэтиза. Если цель практическая, автоматизировать работу с файлами и таблицами, — Свейгарта. Если толстые книги отпугивают — МакГрата, а затем переходите к одной из первых двух.

Стоит ли начинать с Лутца?

Можно, если вам нравится подробная, неспешная подача и вы готовы к большому объёму. Большинству новичков проще начать с компактного учебника и использовать Лутца как справочник.

Можно ли выучить Python только по книгам?

Основы — да, если решать упражнения и писать свои программы. Но книга не проверит ваш код: дополняйте её задачами с автоматической проверкой и собственными проектами.

Книги или курсы?

Они дополняют друг друга. Книга даёт системность и глубину, курс — темп и обратную связь. Хорошая схема — один основной источник, второй как дополнение, и обязательно практика.

Читать перевод или оригинал на английском?

Для первой книги удобнее перевод: на родном языке проще разобраться в новых понятиях. Для книг следующего уровня учитывайте, что переводы отстают от оригиналов на одно-два издания. Если английского хватает, чтобы читать техтекст с переводчиком под рукой, свежий оригинал часто полезнее старого перевода.

Итог

Для старта выберите одну книгу — Мэтиза, Свейгарта или МакГрата, — держите под рукой справочник вроде Лутца или Прохоренка и Дронова, а после основ переходите к Бейдеру и Рамальо. Главное правило — читать с открытым редактором. Общий план обучения — в маршруте «Python с нуля» и дорожной карте Python, остальные материалы для новичков — в разделе «Python с нуля: основы и обучение».

  • #Python
  • #Книги
  • #Обучение
  • #Для начинающих
  • #Python с нуля
↑ ↓ выборEnter открытьEsc закрыть