Обзор литературы по языку Python для начинающих

habr.png

Очень часто можно увидеть вопросы на том же тостере: «А какую книгу взять книгу, чтобы выучить технологи Х», и естественно в комментариях идет большое число мнений и большое число различных книг. В данной теме, я сделаю обзор самых популярных книг по Python для начинающих программистов, и дам четкое мнение — нужно ли их читать или нет (субъективно).

Нужно ли читать книги. Изучая новые технологии, я люблю читать книги по данной технологии, так как я получаю не только сухую информацию, но и субъективное мнение автора по пригодности данных технологий. И в отличие от видео-курсов, мне не приходится ждать, пока автор из себя выдавливает мысль. Да и читаю, я быстро.

Подробно про книги на Python


Марк Лутц — Изучаем Python и Программируем на Python (2 тома). По моему мнению, данную книгу должен прочитать каждый программист на Python, который хочет связать свою жизнь с этим языком.

  • Она дает обширное понимание языка
  • Она объясняет плюсы и минусы языка
  • Она показывает эволюцию языка.


Мне очень нравится, как автор ведет свои рассуждения от возникновения проблемы, до её решения через эволюцию программы. Так же дается отличное понимание эволюции языка (сравнивая python 2.7 и python 3.4).

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

По моему мнению, ни одна другая книга, например, Майкл Доусон — Программируем на Python, Билл Любанович — Простой Python, не могут влить понимание языка, как это делает Лутц.

Прочитав эту книгу и скачав PyCharm без it-бекграунда, я смог написать свои первые программы (небольшое десктоп-приложение, парсер сайтов и ребус).

Форсье Дж., Биссекс П., Чан У., Django — веб-разработка приложений на Python. Я считаю эту книгу полностью бесполезной, так как она не справляется со своей главной задачей — научить писать веб-приложения на Django.

  • Материал в книге очень отстает от актуальных версий Django
  • Материал дается слишком быстро, в итоге уже к середине книги ты не понимаешь, что происходит


Для изучения Django рекомендую посмотреть вступительный обучающий ролик на Youtube от украинского центра (дает базовое понимание, того как эта штука работает), а потом двигаться со своим проектом по документации и гуглению вопросов.

Так за 3 месяца я смог собрать рабочий проект (а по пути выучить html/css/js), который мне уже 4 года приносит доход. Сейчас постепенно наращиваю в функционал.

Вестра Э. — Разработка геоприложений на языке Python. Эту книгу должен прочитать каждый разработчик, который хочет написать адекватное ГИС приложение на Python. Эту книгу можно условно разделить на два раздела:

  1. Что такое ГИС системы — очень ясно и адекватно
  2. Почему писать Гис приложение на Python — это больно


Типичная фраза второй части книги: «Под язык C++/Java есть отличная ГИС библиотека, для Python есть багнутый порт без адекватной документации, поэтому открываем документацию на C++/Java, открываем исходный код порта, и начинает ковырять». В итоге, приходишь к пониманию, что давайте лучше сразу возьмем Java и не будем заниматься мракобесием.

Андреас Мюллер, Сара Гвидо. Введение в машинное обучение с помощью Python. Небольшая книга, которая дает четкое понимание того, что такое машинное обучение, на каких принципах оно базируется, какие инструменты для этого применяются. Для базового понимания — лучшая книга, что есть на данный момент.

Лично я всегда думал, что машинное обучение — это какой-то рокет саенс, а прочитав эту книгу, я увидел, что базовые принципы достаточно просты, просто надо заморачиваться, чтобы добиться хороших результатов. Определенно рекомендую.

Ноа Гифт, Джереми М. Джонс Python в системном администрировании UNIX и Linux. Я считаю эту книгу абсолютно бесполезной для прочтения, так как она дает сжатый курс питона, сжатый курс по IPython, сжатый курс по скриптингу в Unix. В итоге, все какое-то поверхностное, однобокое, и устаревшее. Если вы прочитали хотя бы одну книгу по Питону до этого, смело проходите эту книгу стороной.

Р. Митчелл. Скрапинг веб-сайтов с помощью Python. Занимаясь в свое время достаточно много парсингом данных с различных сайтов, я могу сказать, что данная книга охватывает практически все аспекты данного ремесла. Другое дело, что вся эта информация без проблем гуглится в небольших статьях, которые дают куда более простое объяснение и руководство к действию. Поэтому эти книга подходит исключительно для тех, кто раньше не занимался парсингом (для них она будет интересна), остальные проходят книгу стороной.

Ян Эрик Солем Программирование компьютерного зрения на языке Python. Еще одна бестолковая книга, которая фактически дает краткое описание популярных библиотек по работе потоками данных и мультимедиа файлами. Не имеет какой-либо четкой структуру, не имеет понятной повествовательной линии. Впустую тратит ваше время. Да, надо признать, разработка компьютерного зрения на Python — это исключительно pet-проект, для серьезных условий это не особо котируется. Это описание также подходит под книгу: «Цифровая обработка сигналов на языке python»

В заключении


Напоследок, я бы хотел расказать про одну книгу, которая не совсем учит вас питону, однако в ней все примеры идут на Python: «Test-Driven Development with Python» — в данной книге показывается пример разработки веб-приложения на Django, где сначала пишутся тесты, а потом под это дело подгоняется функционал.

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

P.s. Все книги из моего обзора можно найти в открытых источниках, либо в магазинах. Не все они имеют перевод, но благо для разработчика это не должно быть проблемой.

© Habrahabr.ru