Продолжаем обзор книг по Питону и сегодня на очереди «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() и это первый раз, когда метод используется в книге. Объясняет ли его автор? Нет.

Но зато он быстро пробегается по наследованию. Без этого никуда.
Работа с файлами
Далее он немного рассказывает про работу с файлами, в том числе про копирование и перенос файлов с помощью библиотеки shutil. Это классная библиотека, рад, что хоть что-то здесь полезное.
Правда в последнем примере если случайно указать существующую директорию, вместо user1, то можно быстро и безвозвратно удалить каталог с компьютера. Он уйдет не в Корзину, а просто сотрется. Будьте осторожны.

Следующая мини глава посвящена исключениям, а после идут расширенные возможности Python. В частности краткие описания библиотек requests, Tensor Flow, Numpy и так далее.
В общем, что я могу сказать про эту книгу. Я не понимаю кому она будет полезна. Да код в ней рабочий, это плюс. Ошибок практически нет. Это тоже плюс.
Заключние
Но в целом уровень очень простой. Если вы хотите только-только прикоснуться к программированию, на уровне посидеть за рулем, понажимать педальки, но не заводить двигатель, не ехать и даже не нажимать на клаксон, то да. Она вам подойдет. Вы как бы в машине посидели, возможно это даже была Ферари, но никуда на приехали, да и машина не ваша. Вот такое у меня осталось впечатление осталось от этой книги. Не знаю зачем она вообще существует.

