Всем доброго времени суток!
Публикую обзор книги "Python. Экспресс-курс" от автора Наоми Седер.
Стоит читать? Да! Почему? Опишу в статье.
Python - хороший первый язык программирования, а это отличная книга для его изучения с нуля.
Кто целевая аудитория книги?
Книга рассчитана на людей с пытливым умом и целеустременных, начинающих, что не имеют опыта программирования, но имеют пытливый ум и желание изучить Python.
Что в книге?
Сама книга состоит из 480 страниц и делится на четыре части.
Для начала, чтобы было понимание, что представлено в книге, ознакомимся с её кратким оглавлением.
Первое, на чем хотелось бы обратить ваше внимание - эта книга не для людей, что ранее не программировали. Она рассчитана на тех, кто имеет маломальский опыт программирования на любом из языков программирования и кто желает быстро освоить Python.
Часть №1 -Первые шаги
Данная часть является вводной и в ней подробно даются основы языка Python, чтобы дать общее понимание того, что такое Python и чем он отличается от других языков.
Часть №2 - Основной материал
Во второй части автор уже рассказывает нам об основах Python. Автор знакомит нас с основами:
строки
списки
множества
словари
условия
циклы
Что является положительным моментом, дак то, что в книге не просто рассказывают основы синтаксиса Python, но также приводятся реальные практические примеры для использования тех или иных конструкций, что положительно сказывается на запоминании синтаксиса.
К примеру, автор предлагает с помощью словарей производить подсчет количества слов в тексте
Также о чем не забывает автор, использование словарей вместо конструкций switch или case, что есть в других языках.
К примеру, если вы пришли в Python из Java и по началу не видите знакомых конструкций, то данная книга отлично помогает найти альтернативы ранее знакомым конструкциям.
Оканчивается вторая глава работой с функциями, файлами, модулями и исключениями. Автор старается охватить минимальный базис знаний, что необходим. При описании работы с функциями, автор также не забывает генераторы, декоработы, лямдба выражения.
Глава про файлы также будет полезна начинающих. Очень хорошо описана работа с модулями pathlib, os , struct, pickle, shelve.
Что хорошо, автор не просто рассматривает файлы в вакууме, а дает конкретные инструменты, что используются в повседневной деятельности программиста.
Часть №3 - Расширенные возможности языка
В следующей, третьей части книги, автор крайне подробно останавливается на классах и объектно-ориентированном программировании (ООП). Автор не касается абстрактных классов и метаклассов, тех понятий, что не являются повседневными инструментами разработчика и на начальном этапе знать их нет крайней необходимости.(ИМХО)
Автор подробно рассматриывает методы, наследования и свойства, то, что по истине необходимо знать.
Закончив с классами, автор переходит к описанию регулярных выражений в Python и углубляется в упралвение пакетами и объектами, описывает работы с установкой сторонних библиотек в виртуальные окружения. Вот - действительно важные и нужные темы, ведь именно с помощью сторонних библиотек можно решить большинство задач в Python.
Часть №4 - Работа с данными
Крайнюю часть книги автор посвящает работе с данными и их обработке. Описывает работу с Excel и CSV, работу с сетями при помощи модуля requests, что помогает нам получить по API необходимые данные из интернета в различных форматах : JSON, XML и т.п.
Как работать с этими форматами - автор также подробно рассказывает, вопросов после этого у вас точно не будет.
В крайней четвертой части книги автор также описывает работу с базадами данных. Рассматриваются не только SQLite, но и популярные решения PostgreSQL и MySQL, что позволяет дополнительно для себя сравнить работу с ними.
Кроме описания работы с реляционными базами данных, автор также не забывает и NoSQL, включая такие решения как Redis и MongoDB.
Крайняя глава книги включает в себя анализ данных и работу с Pandas.
Тезисно по преимуществам и недостаткам книги:
Преимущества книги.
1. Умеренного размера шрифт.
Лично для меня это является плюсом. Не люблю , когда книга вроде и выглядит увесистой и объемной, но на поверку остается лишь крупный текст внутри, что уменьшает объем потенциально вместимой информации.
2. Теория плотно сочетается с практикой
Автор старается дать не только абстрагированную от реального мира теорию, но и также связывает её с реальностью. давая практические примеры. что дополнительно позволяет закрепить знания синтаксиса Python. Согласитесь, куда приятнее применять полученные знания на задачах, что имеют отношения к реальной жизни, нежели рассматривать абстрактные циклы про Лунтика и Кузю.
Недостатки книги.
1. Цена
Самое дорогое предложение , что нашел в интернете, это покупка книги на OZON. Книга обойдется вам в 2466 рублей. Как говорится, вопрос дохода. Но не назвал бы данную книгу доступной в финансовом плане.
Далее, ощутимо дешевле, предлагается к продаже книга в Буквоеде. Официальная цена на сайте Буквоеда 1885
Самым финансово-компромиссным вариант оказалось приобретение книги в Читай-Город. Как видим на скриншоте ниже, книга выходит в два раза дешевле, чем на Ozon. Стоимость книги здесь 1213 рублей.
Всё же стоимость в 1213 выглядит куда доступнее для среднестатистического населения, нежели в 2466 р. Опять же, вопрос стоимости книг в книжных магазинах , к сожалению, остается открытым и не в пользу конечного потребителя, имеем что имеем.
Итог по книге:
Книга добротная. Особенно она понравится тем, кто имеет за плечами опыт программирования на других языках и желает освоить Python. Для новичков она будет немного тяжелее, но тут вопрос вашего упорства. В сочетаниии с Google, считаю, отлично подойдет новичкам.
Мой канал в телеграмм:
Если статья показалась вам интересной, то буду благодарен за подписку на мой ТГ-канал IT-старт,, где я также публикую обзоры технической литературы и полезную информацию как для действующих, так и для начинающих программистов.
Комментарии (4)
eandr_67
06.07.2022 02:59+1Python — хороший первый язык программирования
Python — один из худших языков для начального изучения программирования. Начиная с того, что Python — как и любой другой язык с динамической типизацией — провоцирует писать говнокод, и заканчивая тем, что используя встроенные в Python составные типы данных невозможно адекватно оценить вычислительную сложность найденного решения задачи. Кроме того, дикое количество синтаксического сахара в Python, позволяющее практически любой алгоритмический примитив записать множеством разных способов, так же не способствует качественному обучению. И это лишь малая часть претензий к Python в роли первого языка программирования.
N.B. Хороший первый язык — предельно маленький, ортогональный, с предельно жёсткой статической типизацией. Из современных учебных языков — Oberon-07, из промышленных — Go.Книга рассчитана на людей с пытливым умом и целеустременных, начинающих, что не имеют опыта программирования, но имеют пытливый ум и желание изучить Python.
но через четыре строчки:Первое, на чем хотелось бы обратить ваше внимание — эта книга не для людей, что ранее не программировали. Она рассчитана на тех, кто имеет маломальский опыт программирования на любом из языков программирования и кто желает быстро освоить Python.
«Вы или крестик снимите, или трусы наденьте» © советский анекдот.Автор старается дать не только абстрагированную от реального мира теорию, но и также связывает её с реальностью. давая практические примеры.
Теория — это те знания (прежде всего, свойства алгоритмов и дискретная математика), которые необходимы программисту для написания эффективного кода — знания, которые не зависят ни от языка программирования, ни круга решаемых задач. Но, как и любой другой учебник языка программирования, данная книга никакой теории, необходимой для изучения программирования, не содержит. Умение же писать код на конкретном языке программирования является прикладной дисциплиной и никакой теории не содержит — как не содержит теории умение пользоваться русским алфавитом.mr_bag
07.07.2022 08:38"как и любой другой язык с динамической типизацией — провоцирует писать говнокод"
type hinting?
eandr_67
07.07.2022 09:50Если бы это был реальный контроль типов (хотя бы так, как это сделано в PHP), он бы имел смысл. Но в Python это лишь благое пожелание, не имеющее никакого значения. Например, данный код выполнится и напечатает 5.2:
def f(a: str, b: int) -> bool: return a + b print (f(1.5, 3.7))
Впрочем, дело даже не в этом, а в том, что учащийся привыкает не обращать внимание на типы и кол-во переменных — когда одна и та же переменная используется для значений разных типов и совершенно разных целей. Но главная проблема — абсолютная лояльность интерпретаторов динамических языков к логическим ошибкам в коде. Ученик будет ошибаться и даже не сможет понять, что ошибся. Более того, он привыкает писать ошибочный код.
Понятно, что языки со статической типизацией — не панацея. Но они на этапе компиляции выявляют те ошибки, которые язык с динамической типизацией не может заметить. Возможностей налажать в языках со строгой статической типизацией многократно меньше. И чем жёстче компилятор относится к сомнительным местам в коде, тем лучше для обучающегося.
N.B. И это одна из причин выбрать именно Go: он считает ошибками то, на что компиляторы других языков не обращают внимания.
eggstream
Автор обзора, видимо, гордо считает себя лётчиком, раз постоянно употребляет «крайний» вместо «последний».