Рецензия на книгу
Python за 7 дней

Эндрю Парк

Обложка книги Python за 7 дней (Эндрю Парк)

Краткая рецензия

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

Полная рецензия

Продолжаем обзор книг по Питону и сегодня на очереди «Python за 7 дней» — краткий курс для начинающих Эндрю Парка. Программиста с более 20-летним стажем.

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

Введение

Книга начинается с установки питона в разных операционных системах. В целом всё более-менее верно, хотя есть небольшие неточности в установке под MacOS. Автор предлагает использовать менеджер пакетов homebrew, хотя удобнее воспользоваться официальным установщиком с сайта https://python.org

Вторая глава посвящена PyCharm и IDLE, и тут я увидел интересную находку с переносом строк:

Перенос строк

Перенос строк

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

Основы Python

Но давайте перейдем к 3-й главе, которая называется «Основы Python». И автор сразу вводит понятие входных данных и показывает простые примеры с использованием функций input() и print():

Пример кода

Пример кода

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

Сразу после строк, автор приводит примеры с переменными, числами и математическими операторами. Всё довольно понято, хотя побитовые операторы показаны без примеров:

Побитовые операторы

Побитовые операторы.

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

Первые несостыковки

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

После нас чуть глубже погружают в типы данных. В частности Эндрю Парк раскрывает возможности строк, а именно индексы, срезы и форматирование. Причем пример форматирования он приводит на основе символа %, а не метода .format() или f-строк. Что странно, % очень сильно устарели, а в книге автор рассматривает Python 3.11

Устаревшее форматирование

Устаревшее форматирование

Еще через пару страниц нас знакомят с методами строк, а после мы переходим к спискам. Кстати, автор почти везде использует имена a, b, x, y, example и sample. В том числе и для списков:

Имена переменных

Имена переменных

Это не лучший вариант, особенное если у тебя в списке хранятся названия штатов: Огайо, Невада и Колорадо. Правильней было бы назвать список states.

Или cities. Ведь ниже в качестве вывода автор приводит строку:

Colorado is a great city.

Вроде как в списке штаты, а тут город. Но, на самом деле в США существуют одноименные города Огайо, Невада и Колорадо, и возможно автор специально привел такой пример, чтобы вызвать интерес или легкое замешательство. Для чего? Загадка.

Глубокое погружение

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

Нормальные имена переменных

Нормальные имена переменных

Тут же автор дает свои первые задания. И они довольно странные:

Странные задания

Странные задания

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

Звучит очень абстрактно и непонятно.

Или такой приме:

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

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

Далее автор переходит к условиям и циклам. Довольно простые и неглубокие примеры.

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

Из функций можно не выходить

Разумеется функции также даны в минимальном объеме и знаете чего я тут не увидел? Выхода из функций с помощью return. Только print-ы внутри. И это мало применимо в реальной работе. Даже если вы пишите учебный проект. Без return никуда.

После функций следует глава про модули. Автор приводит импорт модуля clock, но такого модуля нет в стандартной библиотеке Python:

Несуществующий модуль

Несуществующий модуль

То есть данная команда возбудит исключение ModuleNotFoundError. Если только у вас рядом с программой нет файла clock.py. Но откуда ему взяться?

Почему автор не привел в пример модули time, math или random. Еще одна загадака.

Еще большая загадка, что он вообще не приводит ни одного встроенного модуля. Эндрю Парк рассказывает про встроенные функции: min, max, len и так далее, а потом опять возвращается к методам строк. Причем тут модули я так и не понял.

ООП

Далее мы переходим к классам. При этом при объяснении параметра self автор пишет такие слова:

«Параметр self имеет много общего с указателями this, которые используются в C и C++».

Серьзно? Объяснять новичку о self через указатели C++ — это отличная педагогическая находка.

Также в примерах классов автор приводит работу метода .format() и это первый раз, когда метод используется в книге. Объясняет ли его автор? Нет.

Первое использование метода format

Первое использование метода format

Но зато он быстро пробегается по наследованию. Без этого никуда.

Работа с файлами

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

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

Код, который может удалить весь каталог

Код, который может удалить весь каталог

Следующая мини глава посвящена исключениям, а после идут расширенные возможности Python. В частности краткие описания библиотек requests, Tensor Flow, Numpy и так далее.

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

Заключние

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

Автор рецензии

Никита Шультайс

Никита Шультайс

Профессиональный web-программист с опытом коммерческой разработки более 10 лет. Преподаватель, автор курсов и статей по IT.

  • Fullstack-разработчик на Python/Django.
  • Автор курсов по Python, SQL, Алгоритмам.
  • Участник олимпиад по математике и программированию.
  • Научил IT-навыкам более 5000 человек.
  • Победитель конкурса образовательных проектов Edcrunch Award.
  • Автор статей в журнале Linux Format.