Зед Шоу — автор всемирно известной методики самостоятельного обучения языкам программирования The Hard Way (в дословном переводе: «Сложный способ»). Со свойственным Зеду юмором он дал такое название собственному методу не только «шутки ради», но еще и чтобы сразу направить мысли читателей в правильное русло. «Самостоятельное изучение языков программирования, — говорит Шоу, — это непрестанная работа над собой. Ведь главный ваш враг в освоении любой новой информации и в получении новых навыков — вы сами». Мегауспешная серия самоучителей теперь и в России!
Альтернативные текстовые редакторы.
Текстовый редактор - необходимый атрибут любого программиста, но вам, как новичку, нужен самый простой текстовый редактор для набора кода. Такие редакторы отличаются от тех, что предназначены для записи обычных текстов, потому что обрабатывают уникальные характеристики компьютерного кода. В этой книге я рекомендую использовать Atom - бесплатный и крос-сплатформенный редактор.
Редакторы размещены в порядке, начиная с наиболее стабильных в работе. Имейте в виду, что некоторые из них могут зависать, не запускаться или работать некорректно на вашем компьютере. Если вы безрезультатно попробуете один из них, испытайте другой. Кроме того, в столбце Платформа я разместил названия операционных систем в аналогичном порядке - первыми идут те, в которых указанная программа точно будет работать. Поэтому, если вы пользуетесь компьютером под управлением операционной системы Windows, ищите те редакторы, у которых в столбце Платформа операционная система Windows указана первой.
Если вы уже имеете опыт работы с Vim или Emacs, то можете использовать их. Если вам незнакомы эти названия, то вы вполне обойдетесь без них. Программисты могут убеждать вас использовать Vim или Emacs, но это только затруднит обучение. У вас задача изучить Python, а не Vim или Emacs. Если, завершая сеанс работы с Vim, вы не сможете выйти из этой программы, наберите команду :q! или ZZ. Если тот человек, который рекомендовал вам использовать Vim, не упомянул про это, вы поймете, почему его не стоит слушать.
Содержание.
Предисловие.
Новое в этом издании.
Трудный путь на самом деле прост.
Чтение и ввод.
Внимание к деталям.
Обнаружение различий.
Хватит смотреть, спрашивайте.
Никакого копирования/вставки.
Дополнительные видеоролики.
О практике и настойчивости.
Благодарности.
Упражнение 0. Настройка.
macOS.
macOS: результат.
Windows.
Windows: результат.
Linux.
Linux: результат.
Поиск в Интернете.
Начинающим.
Альтернативные текстовые редакторы.
Упражнение 1. Первая программа.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 2. Комментарии и символы #.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 3. Числа и математика.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 4. Переменные и имена.
Результат выполнения.
Практические задания.
Дополнительные рактические задания.
Распространенные вопросы.
Упражнение 5. Дополнительно о переменных и выводе.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 6. Строки и текст.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 7. Еще о выводе.
Результат выполнения.
Практические задания.
Работа с ошибками.
Распространенные вопросы.
Упражнение 8. Вывод, вывод.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 9. Вывод, вывод, вывод.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 10. Управляющие последовательности.
Результат выполнения.
Управляющие последовательности.
Практические задания.
Распространенные вопросы.
Упражнение 11. Получение ответов на вопросы.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 12. Запрос ввода.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 13. Параметры, распаковка, переменные.
Внимание! У возможностей другое название.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 14. Запросы и подтверждения.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 15. Чтение файлов.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 16. Чтение и запись файлов.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 17. Еще о файлах.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 18. Имена, переменные, код, функции.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 19. Функции и переменные.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 20. Функции и файлы.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 21. Что возвращают функции.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 22. Что вы теперь знаете?.
Что вы изучили.
Упражнение 23. Строки, байты и кодировки символов.
Предварительное исследование.
Переключатели, общепринятые обозначения и кодировки.
Анализ результата выполнения кода.
Анализ кода.
Углубляемся в кодирование.
Ломаем код.
Упражнение 26. Дополнительная практика.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 25. И еще практика.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 26. Внимание, тест!.
Распространенные вопросы.
Упражнение 27. Обучение логике.
Терминология.
Таблицы истинности.
Распространенные вопросы.
Упражнение 28. Логические выражения.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 29. Что если.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 30. А если иначе.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 31. Принятие решений.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 32. Циклы и списки.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 33. Циклы while.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 34. Доступ к элементам списка.
Практические задания.
Упражнение 35. Ветви и функции.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 36. Разработка и отладка.
Правила конструкций if.
Правила циклов.
Советы по отладке.
Домашнее задание.
Упражнение 37. Знакомство с символами.
Ключевые слова.
Типы данных.
Управляющие последовательности.
Форматирование строк в старом стиле.
Операторы.
Чтение кода.
Практические задания.
Распространенные вопросы.
Упражнение 38. Работа со списками.
Результат выполнения.
Для чего нужны списки.
В каких случаях используются списки.
Практические задания.
Распространенные вопросы.
Упражнение 39. Словари.
Пример словаря.
Результат выполнения.
Для чего нужны словари?.
Практические задания.
Распространенные вопросы.
Упражнение 40. Модули, классы и объекты.
Модули в сравнении со словарями.
Классы как мини-модули.
Объекты как мини-импорты.
Три способа.
Первоклассный пример.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 41. Поговорим об ООП.
Терминология.
Чтение кода.
Смешанное упражнение.
Перевод с кода на русский язык.
Перевод с русского языка в код.
Дополнительное упражнение по чтению кода.
Распространенные вопросы.
Упражнение 42. Композиция, наследование, объекты и классы.
Пример кода.
О синтаксисе class имя (объект).
Практические задания.
Распространенные вопросы.
Упражнение 43. Основы объектно-ориентированного анализа и дизайна.
Анализ простого игрового движка.
Запись или зарисовка задачи.
Извлечение ключевых концепций и их анализ.
Формирование иерархии классов и схемы объектов на основе концепций.
Кодинг классов и тестовый запуск.
Исправление ошибок и доработка кода.
Нисходящий подход против восходящего.
Код игры «Готоны с планеты Перкаль 25».
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение UU. Наследование и композиция.
Что такое «наследование»?.
Неявное наследование.
Явное переопределение.
Видоизменение до или после.
Комбинация взаимодействий.
Причины использования функции super().
Использование функции super() с методом _init_.
Композиция.
Наследование или композиция: что выбрать?.
Практические задания.
Распространенные вопросы.
Упражнение 45. Разработка игры.
Проверка созданной игры.
Оформление функций.
Оформление классов.
Оформление кода.
Оформление комментариев.
Выставление оценки.
Упражнение 46. Каркас проекта.
Установка в среде macOS/Linux.
Установка в среде Windows 10.
Подготовка каркаса каталогов проекта.
Окончательная структура каталогов.
Проверка проекта.
Использование каркаса.
Обязательный опросник.
Распространенные вопросы.
Упражнение 47. Автоматизированное тестирование.
Создание примера для тестирования.
Руководство по тестированию.
Результат выполнения.
Практические задания.
Распространенные вопросы.
Упражнение 48. Расширенный пользовательский ввод.
Игровой словарь.
Разделение предложений.
Лексические кортежи.
Анализ ввода.
Исключения и числа.
Тактика «сначала тест».
Что нужно тестировать?.
Практические задания.
Распространенные вопросы.
Упражнение 49. Формирование предложений.
Соответствия и считывание.
Строение предложений.
Пара слов об исключениях.
Код синтаксического анализатора.
Эксперименты с синтаксическом анализатором.
Что нужно тестировать?.
Практические задания.
Распространенные вопросы.
Упражнение 50. Ваш первый веб-сайт.
Установка фреймворка Flask.
Создание простого проекта.
Что происходит?.
Создание базовых шаблонов.
Работа над ошибками.
Практические задания.
Распространенные вопросы.
Упражнение 51. Получение ввода из браузера.
Как устроена Всемирная паутина.
Принцип работы веб-формы.
Создание HTML-форм.
Подготовка макета шаблона.
Разработка автоматических тестов для веб-форм.
Практические задания.
Ломаем код.
Упражнение 52. Игра для Всемирной паутины.
Доработка игры из упражнения 43.
Разработка движка.
Ваш выпускной экзамен.
Распространенные вопросы.
Дальнейшее обучение.
Как изучить любой язык программирования.
Совет бывалого программиста.
Приложение. Экспресс-курс по оболочке командной строки.
Введение в оболочку командной строки.
Как использовать данное приложение.
Способы запомнить информацию.
Подготовка.
Практикум.
macOS.
Linux.
Windows.
Что вы изучили.
Дополнительно.
Linux/macOS.
Windows.
Пути, папки и каталоги (pwd).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Если вы заблудились.
Практикум.
Что вы изучили.
Создание каталога (mkdir).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Смена каталога (cd).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Вывод содержимого каталога (Is).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Удаление каталога (rmdir).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Работа со стеком (pushd, popd).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Создание пустых файлов (touch, New-Item).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Копирование файла (ср) .
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Перемещение файла (mv).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Просмотр файла (less, more).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Вывод содержимого файла (cat).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Удаление файла (rm).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Выход из оболочки (exit).
Практикум.
Linux/macOS.
Windows.
Что вы изучили.
Дополнительно.
Дальнейшее обучение.
Руководства по Unix Bash.
Руководства по PowerShell.
Предметный указатель.
Купить .
По кнопкам выше и ниже «Купить бумажную книгу» и по ссылке «Купить» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.
По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «ЛитРес», и потом ее скачать на сайте Литреса.
По кнопке «Найти похожие материалы на других сайтах» можно найти похожие материалы на других сайтах.
On the buttons above and below you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.
Хештеги: #учебник по программированию :: #программирование :: #Шоу
Смотрите также учебники, книги и учебные материалы:
- Квантовые вычисления для настоящих айтишников, Бернхард К., 2020
- Изучаем React, Чиннатамби К., 2019
- Изучаем Java ЕЕ, Современное программирование для больших предприятий, Дашнер С., 2018
- Идеальный программист, Как стать профессионалом разработки ПО, Мартин Р., 2018
- Язык программирования Python, практикум, Жуков Р.А., 2019
- Думай как программист, Креативный подход к созданию кода, C++ версия, Спрол А., 2018
- Дискретная математика для программистов, Хаггарти Р., 2003
- Стандартная библиотека Python 3, справочник с примерами, Хеллман Д., 2019