📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

ЛУЧШИЕ книги по Python в 2024 году с нуля

Shultais Education20:31

Transcription

Привет, друзья! С вами Никита Шультайсс, и настало время подвести итоги моего трехлетнего исследования, трехлетнего поиска лучшей книги по питону для начинающих.

Материала будет много, поэтому усаживайтесь поудобней, заваривайте кофе и погнали!

Итак, за прошедшие три года я внимательно изучил и записал видеообзоры на 34 книги общим объемом более 16 тысяч страниц и стоимостью около 50 тысяч рублей.

Какие-то из них оказались откровенной халтурой, другие не подходили для новичков, и в итоге я оставил 8 книг, которые могу порекомендовать с чистой совестью.

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

Но вернемся к рейтингу. Сперва вспомним, как все начиналось и почему я вообще решил этим заниматься.

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

Но как можно что-то рекомендовать, если ты читал только одну книгу по питону? Третье издание "Изучаем Python" Марка Лутца. Это было в 2009 или 2010 году.

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

Поэтому я начал гуглить советы других программистов и не программистов и постоянно натыкался на рекомендации все того же Марка Лутца, особенно от бывалых разработчиков.

И позиция опытных разработчиков мне понятна. Во времена, когда они изучали пайтон, ничего кроме Лутца, официальной документации и программистских форумов не было. Это было еще до появления курсов по программированию, а также до того, как пайтон стал суперпопулярным.

Тем не менее, лично я рекомендовать лучше не мог, так как книга сложная для совсем новичков. В ней много терминов и запутанных объяснений.

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

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

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

Следовательно, опытные программисты просто не имеют возможности сравнить между собой книги для новичков: какая лучше, а какая хуже. К тому же их уже более 40 штук, пойди разберись.

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

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

Еще одна проблема — это советы халявы, особенно в этом плане. Бесплатная книга "Укус питона" — никаких плюсов, кроме бесплатности, у нее нет.

Да, я понимаю, что сейчас книги стоят недешево, но на одну книгу деньги всегда можно найти. А вам, как новичку, для старта нужна именно одна хорошая.

Сегодня я как раз про это поговорю. Правда, я на выбор предложу вам сразу несколько книг, потому что они разные.

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

Давайте избавимся от лишней макулатуры и приступим.

Начну я с довольно редкой и относительно новой книги "Python — это просто" Нила Боничало. Книга читается достаточно легко и непринужденно, содержит разные блок-схемы и много примеров кода, а также интересные задачи из реальной практики.

Автор книги — практикующий маркетолог из Индии, и особенность этой книги в том, что она предназначена для начинающих аналитиков на Python.

Все примеры, которые в ней приводятся, запускаются внутри Jupyter Notebook — это специальная программа, которая как раз активно используется аналитиками.

Соответственно, весь код из книги можно скачать в виде Jupyter блокнотов с GitHub, что довольно удобно.

На английском языке, но это терпимо. Сам питон тут не сильно глубокий и дается в объеме, необходимом для старта аналитика.

Раз речь про аналитику, то в книге вы найдете примеры работы с библиотеками NumPy, Pandas, Matplotlib и другими. В целом прикладным задачам тут посвящено почти половина книги, и если вы хотите стать именно аналитиком, то рекомендую начать именно с неё.

Следующая книга, которую я вам порекомендую, это "Начинаем программировать на Python" Тони Гэддиса, 5-е издание. Эта книга уже несколько лет в моем личном рейтинге занимает первое место.

Сначала это было 4-е издание, затем его заменила 5-е, которое ожидаемо оказалось еще лучше. Сейчас уже вышла 6-я версия книги, но на момент записи видео её пока не перевели на русский язык.

У Тони Гэддиса очень хорошее повествование, и он затрагивает не только пайтон, но и дает полезную информацию о программировании в целом.

В книге вы также найдете много схем и графиков, которые упрощают понимание сложных концепций. А еще тут большое количество интересных примеров и заданий.

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

Также в книге вы найдете главы про создание программ с графическим интерфейсом на Tkinter и работу с базами данных.

Все примеры в книге, включая комментарии к коду, переведены на русский язык. Также тут переведен весь код, который идет в книге.

Если у неё лабы не счала скачать конспекты, мы могли с GitHub, но они были на английском языке. То здесь все сопроводительные материалы на русском, вплоть до данных внутри баз данных, а это очень круто.

Единственное, у Тони Гэддиса не самый удачный переплет, и многие читатели жалуются, что книга довольно быстро начинает рассыпаться.

Также иногда вы можете встретить довольно сложные задания, которые будет тяжело выполнить самостоятельно. А так как эта книга то и подсказать вам будет некому, разве что подглядеть в уже готовое решение, но это не самый лучший вариант.

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

Ссылку я оставлю под видео.

Ну давайте вернемся к книгам. Перед тем как порекомендовать следующую, немного поговорим о том, как правильно пользоваться книгами.

Ведь литература по программированию — это не художественная литература. Тут есть особенности, и в общем есть три основные правила, которым нужно следовать.

Первое — это читайте и выполняйте весь код, который приводит автор. Не верьте никому на слово, запустите код и проверьте его сами.

Вы удивитесь, сколько в книгах опечаток и неточностей. Во всех, даже тех, которые я сегодня рекомендую, но тут их относительно немного.

У меня же на полке есть издания, в которых не запускается половина приведенного кода. Так что лучше за автором перепроверить.

Второе, что нужно сделать — это задать вопрос: "А что этот код может сделать еще?"

Что будет, если я введу не те данные? Например, вместо 100 напишу 10 или 1000, или 10 миллионов, или 0. Не сломается ли программа?

А если напишу 10 буквами, что произойдет? Не бойтесь экспериментировать. Если у автора программа работает, то сломайте и разберитесь, почему она сломалась, а потом почините.

Именно такой подход к обучению работает эффективно.

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

Потому что одно дело — повторять за автором, а другое — самостоятельно справляться с поставленной задачей. А в реальной жизни вы по большей части будете заниматься именно этим.

Так что начинайте уже с самого начала. Это три основные совета по чтению книг по программированию. Есть ещё три, но они будут дальше.

А я же перейду к следующей книге — "Учимся программировать с примерами на Python" Эрика Фримена. Это одна из самых популярных книг по питону в мире, и у меня она в рейтинге всегда стояла на втором месте.

Но я, наверное, пересмотрю свою позицию и поставлю рядом с Тони Гэддисом, пусть они оба делят первое место. Почему бы и нет?

Данная книга очень нестандартная и не скучная. Тут много иллюстраций, шуток, фотографий и даже кроссвордов.

А еще много схем и графиков, которые в деталях объясняют самые разные концепции как программирования, так и языка вообще.

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

А еще у книги почти 20 рецензентов, которые полностью ее прочитали и запустили весь код, что снижает потенциальные ошибки и неточности почти до нуля.

Также тут много внимания уделяется различным проектам. Так, ближе к концу книги вы напишите игру "Жизнь", что является интересным опытом.

Лично я её написал по книге без каких-либо проблем и получил от этого огромное удовольствие. Так что если вам хочется более свободного повествования, то горячо рекомендую.

Если же вы хотите чего-то более академического, то предлагаю вам "Программирование на Python в примерах и задачах" Васильева.

Сразу скажу, что в моем списке рекомендаций она стоит последней. С одной стороны, книга довольно подробная и в ней большое количество самых разных примеров.

Но с другой стороны, она рассчитана на подготовленных читателей, например, студентов технических вузов. Тут с вами никто сюсюкаться не будет.

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

В целом, как я сказал, студентам тех вузов вполне зайдет. Единственное, здесь нет никаких финальных проектов, поэтому вам придется придумать их самим.

Это четвертый совет по чтению книг по программированию: как только вы получите какую-то минимальную базу, а это обычно около 30 или 40 процентов в любой книге, пробуйте написать какую-то полезную программу, полезную для вас.

Это может быть что угодно, включите воображение. Я в свое время написал программу, которая сохраняла файл ежемесячные показатели электроэнергии, потребления воды и так далее.

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

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

В общем, придумайте какой-то небольшой и полезный проект и потихоньку начинайте его писать теми способами, о которых узнали из книги. Это сильно ускорит ваше развитие.

Если вам лень или не хочется придумывать свои проекты, то у меня для вас есть следующая рекомендация — "Изучаем Python" Эрика Матиза.

Половина этой книги посвящена проектам, среди которых создание игры "Инопланетное вторжение", визуализация данных на базе Matplotlib, а также создание сайтов на Django.

В общем, проекты на любой вкус. Лично я для себя выиграл игру и прямо кайфанул, пока её писал, а еще сильнее, когда она запустилась.

Единственное, в этой книге есть проблемы с переводом, а также достаточно большое количество опечаток, которые могут сделать её чтение не таким плавным, как хотелось бы.

Надо иметь в виду, что скорее всего вам придется немного погуглить, возможно, даже на английском языке. Но в целом это полезный навык для программиста.

Также надо иметь в виду, что в книге приведен проект сайта на Django второй версии, а сейчас уже вышла 4-я, и совсем скоро выйдет 5-я.

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

Но все же книга немного устарела, и вы можете справедливо спросить: "А почему же тогда я рекомендую?"

Дело в том, что сама книга вполне себе хороша. Тут классные и понятные объяснения, хорошие примеры и полезные советы.

Книга довольно долго держалась на третьем месте, хотя перед финальным обзором я скорректировал рейтинг, и на её место встала "Знакомство с Python" Дэна Бейдера.

Дэн Бейдер известен среди пайтон-разработчиков прежде всего как основатель образовательного проекта Real Python и как автор другой книги "Чистый Python".

У Дэна талант в объяснении самых разных вещей, и эта книга не исключение. Она отлично подходит новичкам. В ней классное и понятное повествование, хорошие примеры и задания.

Возможно, тут не самое глубокое погружение в пайтон, но зато есть примеры работы с разными библиотеками, включая обработку PDF файлов, знакомство с базами данных, немного парсинга сайтов, использование NumPy для математических вычислений, введение в графический интерфейс на Tkinter и так далее.

Легкость, с которой написана книга, располагает. Откровенных недочетов я в ней не нашел, разве что она немного скучновата, но не настолько сложна и академична, как книга Васильева.

В общем, получилось такое хорошее издание для начинающих с обзором разных библиотек.

Следующая книга, которую я бы хотел вам порекомендовать, это "Python без проблем" Даниэля Зингара. Тут вы встретите понятные, хорошие объяснения, приятный шрифт и верстку, а также много интересных и весьма креативных проектов.

В целом вся эта книга выстроена вокруг небольших проектов и задач. Некоторые задачи взяты с сайта задачами "Codewars", и автор не только в деталях разбирает их, но и показывает, как отправлять ваше решение на проверку.

Это пятый совет по чтению книг: в какой-то момент вам перехватит заданий в книгах, или вы захотите дополнительно попрактиковаться в той или иной теме.

Тогда вы можете купить книгу с задачами или же пойти на какое-нибудь специализированный сайт и порешать задачи разной сложности на нем. Это отличный способ набить руку.

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

Сейчас же большое количество сайтов с автоматизированной проверкой заданий. Я точно знаю, многие из вас уже такими пользовались.

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

А мы же вернемся к Даниэлю Зингару. Как я сказал, в книге вы найдете интересные и креативные задачи, например, о том, как помочь фермеру Джону засеять травой его пастбища.

Сколько этому же фермеру нужно нанять спасателей, чтобы они следили за бассейном, который он купил для своих коров? В общем, это забавные задания, решения которых хорошо объяснены и которые развивают алгоритмическое мышление.

А это очень важно. Именно поэтому данная книга и попала в обзор. При этом сам питон тут рассматривается не очень глубоко. Например, вы совсем ничего не найдете про классы или ООП.

Поэтому я её рекомендую, но не всем. А, например, ученикам старших классов или студентам. Это тот случай, когда важнее развивать именно алгоритмическое мышление, а не изучать синтаксис или возможности языка.

Тем более не штудировать бесконечный набор библиотек на все случаи жизни. К тому же для этого есть другие книги.

"Автоматизация рутинных задач с помощью Python" Эла Свейдера — одна из них. Книга целиком посвящена решению прикладных задач на питоне. Тут не будет глубокого погружения в язык, но при этом она будет полезна всем, кто бы хотел использовать Python в своей повседневной жизни.

Хотите раскидать данные между разными каталогами или же сделать так, чтобы файлы по шаблону копировались в определенное место на диске, а потом автоматически сжимались в zip-архив? То вам сюда.

А может, хотите спарсить сайт, прайс-лист конкурента и сохранить его в Excel файл или Google таблицу? Книга вам поможет.

А может, вы хотите автоматизировать обработку изображений или отправку email писем? Тут всё это разбирается.

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

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

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

Это может быть курс, онлайн или оффлайн, книга, статьи в интернете, официальная документация, обсуждение на сайте Stack Overflow, общение с другими учениками в чате, помощь преподавателя, ролики на YouTube и так далее.

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

Чем больше у вас будет инструментов обучения, а книга — это лишь один из инструментов, тем выше ваши шансы, что у вас получится.

Разумеется, две книги для новичков покупать не стоит. Но использовать одну книгу в паре с еще каким-то средством обучения будет полезно.

И да, лучше иметь печатную книгу. С ней гораздо удобнее работать, когда вы учитесь программировать.

К тому же теперь вы можете выбрать книгу, которая подойдет именно вам, и не тратить деньги на всякий хлам.

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

Если же вы преподаватель или опытный программист, у которого часто спрашивают совета или рекомендации книги по Python, то теперь вы можете просто скинуть это видео или пост.

У меня же на этом всё. Не забывайте ставить лайк, и жду вас в комментариях. Пока и успехов в обучении!