Всем доброго времени суток!

Публикую обзор книги "Python. Экспресс-курс" от автора Наоми Седер.

Стоит читать? Да! Почему? Опишу в статье.

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

Кто целевая аудитория книги?

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

Что в книге?

Сама книга состоит из 480 страниц и делится на четыре части.

Для начала, чтобы было понимание, что представлено в книге, ознакомимся с её кратким оглавлением.

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

Часть №1 -Первые шаги

Рис.1.1. Оглавление первой части
Рис.1.1. Оглавление первой части

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

Часть №2 - Основной материал

Рис.1.2. Оглавление второй части
Рис.1.2. Оглавление второй части

Во второй части автор уже рассказывает нам об основах Python. Автор знакомит нас с основами:

  • строки

  • списки

  • множества

  • словари

  • условия

  • циклы

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

К примеру, автор предлагает с помощью словарей производить подсчет количества слов в тексте

Рис.1.3. Обработка текста
Рис.1.3. Обработка текста

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

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

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

Глава про файлы также будет полезна начинающих. Очень хорошо описана работа с модулями pathlib, os , struct, pickle, shelve.

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

Часть №3 - Расширенные возможности языка

Рис.1.4. Оглавление третьей части
Рис.1.4. Оглавление третьей части

В следующей, третьей части книги, автор крайне подробно останавливается на классах и объектно-ориентированном программировании (ООП). Автор не касается абстрактных классов и метаклассов, тех понятий, что не являются повседневными инструментами разработчика и на начальном этапе знать их нет крайней необходимости.(ИМХО)

Автор подробно рассматриывает методы, наследования и свойства, то, что по истине необходимо знать.

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

Часть №4 - Работа с данными

Рис.1.5. Описание
Рис.1.5. Описание

Крайнюю часть книги автор посвящает работе с данными и их обработке. Описывает работу с Excel и CSV, работу с сетями при помощи модуля requests, что помогает нам получить по API необходимые данные из интернета в различных форматах : JSON, XML и т.п.

Как работать с этими форматами - автор также подробно рассказывает, вопросов после этого у вас точно не будет.

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

Кроме описания работы с реляционными базами данных, автор также не забывает и NoSQL, включая такие решения как Redis и MongoDB.

Крайняя глава книги включает в себя анализ данных и работу с Pandas.

Тезисно по преимуществам и недостаткам книги:

Преимущества книги.

1. Умеренного размера шрифт.

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

Рис.2. Пример текста в книге
Рис.2. Пример текста в книге

2. Теория плотно сочетается с практикой

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

Недостатки книги.

1. Цена

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

Рис.3.1 Цена книги на OZON
Рис.3.1 Цена книги на OZON

Далее, ощутимо дешевле, предлагается к продаже книга в Буквоеде. Официальная цена на сайте Буквоеда 1885

Рис.3.2. Цена книги в Буквоеде
Рис.3.2. Цена книги в Буквоеде

Самым финансово-компромиссным вариант оказалось приобретение книги в Читай-Город. Как видим на скриншоте ниже, книга выходит в два раза дешевле, чем на Ozon. Стоимость книги здесь 1213 рублей.

Рис.3.3 Цена книги в Читай-Город
Рис.3.3 Цена книги в Читай-Город

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

Итог по книге:

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

Мой канал в телеграмм:

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

Комментарии (4)


  1. eggstream
    05.07.2022 12:16
    +2

    Автор обзора, видимо, гордо считает себя лётчиком, раз постоянно употребляет «крайний» вместо «последний».


  1. eandr_67
    06.07.2022 02:59
    +1

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

    N.B. Хороший первый язык — предельно маленький, ортогональный, с предельно жёсткой статической типизацией. Из современных учебных языков — Oberon-07, из промышленных — Go.

    Книга рассчитана на людей с пытливым умом и целеустременных, начинающих, что не имеют опыта программирования, но имеют пытливый ум и желание изучить Python.
    но через четыре строчки:
    Первое, на чем хотелось бы обратить ваше внимание — эта книга не для людей, что ранее не программировали. Она рассчитана на тех, кто имеет маломальский опыт программирования на любом из языков программирования и кто желает быстро освоить Python.
    «Вы или крестик снимите, или трусы наденьте» © советский анекдот.

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


    1. mr_bag
      07.07.2022 08:38

      "как и любой другой язык с динамической типизацией — провоцирует писать говнокод"

      type hinting?


      1. 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: он считает ошибками то, на что компиляторы других языков не обращают внимания.