Опубликовано

Новое издание бестселлера: “Начинаем программировать на Python. 5-е изд.”

Начинаем программировать на Python, 5 изд.

Представляем 5-е издание мирового бестселлера Тони Гэддиса “Начинаем программировать на Python”.

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

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

В пятом издании добавлена глава о программировании баз данных.

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

Книгу можно купить в нашем интернет-магазине.

От автора

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

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

В книге рассмотрены

  • Краткое введение в компьютеры и программирование
  • Ввод, обработка и вывод данных
  • Управляющие структуры и булева логика
  • Структуры с повторением и функции
  • Файлы и исключения
  • Списки и кортежи
  • Строковые данные, словари и множества
  • Классы и объектно-ориентированное программирование
  • Наследование и рекурсия
  • Функциональное программирование
  • Программирование баз данных

Изменения в пятом издании

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

  • Программирование баз данных. В этом издании добавлена новая глава о программировании баз данных на SQL и Python с помощью СУБД SQLite (см. главу 14).
  • Списки, словари и множества. В этом издании объясняются операции включения в список, словарь и множество.
  • Обновленные темы о строковых литералах. Добавлено несколько новых тем.
  • Программирование графического интерфейса. В главу 13 было добавлено несколько новых тем о программировании графического интерфейса
  • Случайный выбор элементов списка. Функция random.choice() введена в главе 7 как способ случайного выбора элементов списка.
  • Новые темы, связанные с функциями. В главу 5 было добавлено несколько новых тем.
Tony-Gaddis

Тони Гэддис — ведущий автор всемирно известной серии книг “Начинаем программировать…” (Starting Out With) с двадцатилетним опытом преподавания курсов информатики в колледже округа Хейвуд, шт. Северная Каролина, удостоен звания «Преподаватель года», лауреат  премии «Педагогическое мастерство». В серии “Начинаем программировать…” издаются книги, посвященные языкам программирования C++, Java™, Microsoft® Visual Basic®, Microsoft® C#®, Python®, Alice, среде визуальной разработки android-приложений App Inventor, а также программированию логики и дизайна. Все они были опубликованы в издательстве Pearson. Дополнительную информацию можно найти на сайте www.pearsonhighered.com/gaddisbooks.

Содержание

Предисловие…………………………………………………………………………………………………………. 1

Прежде всего управляющие структуры и только потом классы………………………………………………………………. 1

Изменения в пятом издании………………………………………………………………………………………………………………………….. 1

Краткий обзор глав………………………………………………………………………………………………………………………………………. 2

Организация учебного материала………………………………………………………………………………………………………………. 6

Структурные элементы и условные обозначения книги…………………………………………………………………………… 6

Дополнительные материалы……………………………………………………………………………………………………………………….. 7

Электронный архив………………………………………………………………………………………………………………………………………. 8

Об авторе……………………………………………………………………………………………………………………………………………………….. 8

Глава 1. Введение в компьютеры и программирование………………………………………… 9

1.1       Введение…………………………………………………………………………………………………………………………………………….. 9

1.2       Аппаратное и программное обеспечение……………………………………………………………………………………… 10

1.3       Как компьютеры хранят данные……………………………………………………………………………………………………. 15

1.4       Как программа работает………………………………………………………………………………………………………………… 20

1.5       Использование языка Python………………………………………………………………………………………………………….. 28

Вопросы для повторения……………………………………………………………………………………………………………………………. 32

Упражнения…………………………………………………………………………………………………………………………………………………. 36

Глава 2. Ввод, обработка и вывод………………………………………………………………………. 38

2.1       Проектирование программы…………………………………………………………………………………………………………… 38

2.2       Ввод, обработка и вывод………………………………………………………………………………………………………………… 43

2.3       Вывод данных на экран при помощи функции print……………………………………………………………………. 43

2.4       Комментарии……………………………………………………………………………………………………………………………………. 46

2.5       Переменные……………………………………………………………………………………………………………………………………… 47

2.6       Чтение входных данных с клавиатуры…………………………………………………………………………………………. 57

2.7       Выполнение расчетов……………………………………………………………………………………………………………………… 61

2.8       Конкатенация строковых литералов…………………………………………………………………………………………….. 74

2.9       Подробнее об инструкции print……………………………………………………………………………………………………… 76

2.10     Вывод на экран форматированного результата с помощью f-строк………………………………………….. 79

2.11     Именованные константы………………………………………………………………………………………………………………… 88

2.12     Введение в черепашью графику…………………………………………………………………………………………………….. 90

Вопросы для повторения…………………………………………………………………………………………………………………………. 118

Упражнения по программированию……………………………………………………………………………………………………….. 124

Глава 3. Структуры принятия решения и булева логика………………………………….. 128

3.1       Инструкция if…………………………………………………………………………………………………………………………………. 128

3.2       Инструкция if-else………………………………………………………………………………………………………………………….. 136

3.3       Сравнение строковых значений…………………………………………………………………………………………………… 140

3.4       Вложенные структуры принятия решения и инструкция if-elif-else…………………………………………. 144

3.5       Логические операторы………………………………………………………………………………………………………………….. 152

3.6       Булевы переменные………………………………………………………………………………………………………………………. 159

3.7       Черепашья графика: определение состояния черепахи…………………………………………………………….. 160

Вопросы для повторения…………………………………………………………………………………………………………………………. 168

Упражнения по программированию……………………………………………………………………………………………………….. 172

Глава 4. Структуры с повторением…………………………………………………………………… 179

4.1       Введение в структуры повторения………………………………………………………………………………………………. 179

4.2       Цикл while: цикл c условием повторения…………………………………………………………………………………….. 180

4.3       Цикл for: цикл со счетчиком повторений…………………………………………………………………………………….. 187

4.4       Вычисление нарастающего итога……………………………………………………………………………………………….. 198

4.5       Сигнальные метки…………………………………………………………………………………………………………………………. 202

4.6       Циклы валидации входных данных…………………………………………………………………………………………….. 204

4.7       Вложенные циклы…………………………………………………………………………………………………………………………. 208

4.8       Черепашья графика: применение циклов для рисования узоров………………………………………………. 215

Вопросы для повторения…………………………………………………………………………………………………………………………. 219

Упражнения по программированию……………………………………………………………………………………………………….. 222

Глава 5. Функции……………………………………………………………………………………………… 226

5.1       Введение в функции………………………………………………………………………………………………………………………. 226

5.2       Определение и вызов функции без возврата значения……………………………………………………………….. 229

5.3       Проектирование программы с использованием функций………………………………………………………….. 234

5.4       Локальные переменные………………………………………………………………………………………………………………… 241

5.5       Передача аргументов в функцию…………………………………………………………………………………………………. 243

5.6       Глобальные переменные и глобальные константы……………………………………………………………………. 252

5.7       Введение в функции с возвратом значения: генерирование случайных чисел……………………….. 256

5.8       Написание функций с возвратом значения…………………………………………………………………………………. 267

5.9       Математический модуль math……………………………………………………………………………………………………… 281

5.10     Хранение функций в модулях………………………………………………………………………………………………………. 284

5.11     Черепашья графика: модуляризация кода при помощи функций……………………………………………… 290

Вопросы для повторения…………………………………………………………………………………………………………………………. 296

Упражнения по программированию……………………………………………………………………………………………………….. 302

Глава 6. Файлы и исключения………………………………………………………………………….. 308

6.1       Введение в файловый ввод и вывод……………………………………………………………………………………………… 308

6.2       Применение циклов для обработки файлов………………………………………………………………………………… 325

6.3       Обработка записей………………………………………………………………………………………………………………………… 332

6.4       Исключения……………………………………………………………………………………………………………………………………. 345

Вопросы для повторения…………………………………………………………………………………………………………………………. 358

Упражнения по программированию……………………………………………………………………………………………………….. 362

Глава 7. Списки и кортежи……………………………………………………………………………….. 365

7.1       Последовательности……………………………………………………………………………………………………………………… 365

7.2       Введение в списки………………………………………………………………………………………………………………………….. 365

7.3       Нарезка списка………………………………………………………………………………………………………………………………. 374

7.4       Поиск значений в списках при помощи инструкции in………………………………………………………………. 377

7.5       Методы обработки списков и полезные встроенные функции………………………………………………….. 379

7.6       Копирование списков……………………………………………………………………………………………………………………. 386

7.7       Обработка списков………………………………………………………………………………………………………………………… 388

7.8       Включение в список………………………………………………………………………………………………………………………. 401

7.9       Двумерные списки…………………………………………………………………………………………………………………………. 404

7.10     Кортежи………………………………………………………………………………………………………………………………………….. 408

7.11     Построение графиков с данными списков при помощи пакета matplotlib……………………………….. 410

Вопросы для повторения…………………………………………………………………………………………………………………………. 427

Упражнения по программированию……………………………………………………………………………………………………….. 432

Глава 8. Подробнее о строковых данных………………………………………………………….. 436

8.1       Базовые строковые операции………………………………………………………………………………………………………. 436

8.2       Нарезка строковых значений……………………………………………………………………………………………………….. 443

8.3       Проверка, поиск и манипуляция строковыми данными…………………………………………………………….. 448

Вопросы для повторения…………………………………………………………………………………………………………………………. 464

Упражнения по программированию……………………………………………………………………………………………………….. 467

Глава 9. Словари и множества………………………………………………………………………….. 472

9.1       Словари………………………………………………………………………………………………………………………………………….. 472

9.2       Множества……………………………………………………………………………………………………………………………………… 498

9.3       Сериализация объектов………………………………………………………………………………………………………………… 512

Вопросы для повторения…………………………………………………………………………………………………………………………. 518

Упражнения по программированию……………………………………………………………………………………………………….. 524

Глава 10. Классы и объектно-ориентированное программирование…………………. 528

10.1     Процедурное и объектно-ориентированное программирование……………………………………………… 528

10.2     Классы……………………………………………………………………………………………………………………………………………. 531

10.3     Работа с экземплярами…………………………………………………………………………………………………………………. 548

10.4     Приемы конструирования классов………………………………………………………………………………………………. 571

Вопросы для повторения…………………………………………………………………………………………………………………………. 582

Упражнения по программированию……………………………………………………………………………………………………….. 585

Глава 11. Наследование……………………………………………………………………………………. 590

11.1     Введение в наследование……………………………………………………………………………………………………………… 590

11.2     Полиморфизм…………………………………………………………………………………………………………………………………. 604

Вопросы для повторения…………………………………………………………………………………………………………………………. 611

Упражнения по программированию……………………………………………………………………………………………………….. 613

Глава 12. Рекурсия……………………………………………………………………………………………. 615

12.1     Введение в рекурсию…………………………………………………………………………………………………………………….. 615

12.2     Решение задач на основе рекурсии……………………………………………………………………………………………… 618

12.3     Примеры алгоритмов на основе рекурсии………………………………………………………………………………….. 621

Вопросы для повторения…………………………………………………………………………………………………………………………. 629

Упражнения по программированию……………………………………………………………………………………………………….. 632

Глава 13. Программирование графического пользовательского интерфейса…….. 633

13.1     Графические интерфейсы пользователя……………………………………………………………………………………… 633

13.2     Использование модуля tkinter………………………………………………………………………………………………………. 635

13.3     Вывод текста с помощью виджетов Label…………………………………………………………………………………… 639

13.4     Упорядочение виджетов с помощью рамок Frame…………………………………………………………………….. 649

13.5     Виджеты Button и информационные диалоговые окна……………………………………………………………… 651

13.6     Получение входных данных с помощью виджета Entry……………………………………………………………. 655

13.7     Применение виджетов Label в качестве полей вывода………………………………………………………………. 657

13.8     Радиокнопки и флаговые кнопки………………………………………………………………………………………………….. 665

13.9     Виджеты Listbox…………………………………………………………………………………………………………………………….. 671

13.10  Рисование фигур с помощью виджета Canvas……………………………………………………………………………. 691

Вопросы для повторения…………………………………………………………………………………………………………………………. 711

Упражнения по программированию……………………………………………………………………………………………………….. 715

Глава 14. Программирование баз данных…………………………………………………………. 718

14.1     Системы управления базами данных………………………………………………………………………………………….. 718

14.2     Таблицы, строки и столбцы………………………………………………………………………………………………………….. 720

14.3     Открытие и закрытие соединения с базой данных с помощью SQLite……………………………………… 724

14.4     Создание и удаление таблиц……………………………………………………………………………………………………….. 727

14.5     Добавление данных в таблицу…………………………………………………………………………………………………….. 731

14.6     Запрос данных с помощью инструкции SQL SELECT……………………………………………………………….. 739

14.7     Обновление и удаление существующих строк…………………………………………………………………………… 754

14.8     Подробнее о первичных ключах………………………………………………………………………………………………….. 761

14.9     Обработка исключений базы данных…………………………………………………………………………………………. 765

14.10  Операции CRUD…………………………………………………………………………………………………………………………….. 767

14.11  Реляционные данные…………………………………………………………………………………………………………………….. 775

Вопросы для повторения…………………………………………………………………………………………………………………………. 791

Упражнения по программированию……………………………………………………………………………………………………….. 798

Приложение 1. Установка Python……………………………………………………………………… 803

Скачивание Python…………………………………………………………………………………………………………………………………… 803

Установка Python 3.x в Windows……………………………………………………………………………………………………………… 803

Приложение 2. Введение в среду IDLE………………………………………………………………. 805

Запуск среды IDLE и использование оболочки Python………………………………………………………………………… 805

Написание программы Python в редакторе IDLE………………………………………………………………………………….. 807

Цветовая разметка……………………………………………………………………………………………………………………………………. 808

Автоматическое выделение отступом…………………………………………………………………………………………………….. 808

Сохранение программы…………………………………………………………………………………………………………………………… 809

Выполнение программы…………………………………………………………………………………………………………………………… 809

Другие ресурсы…………………………………………………………………………………………………………………………………………. 810

Приложение 3. Набор символов ASCII………………………………………………………………. 811

Приложение 4. Предопределенные именованные цвета……………………………………. 812

Приложение 5. Подробнее об инструкции import………………………………………………. 817

Импортирование конкретной функции или класса……………………………………………………………………………….. 817

Импорт с подстановочным символом…………………………………………………………………………………………………….. 818

Использование псевдонимов……………………………………………………………………………………………………………………. 818

Приложение 6. Форматирование числовых результатов с помощью
функции format()……………………………………………………………………………………………….. 820

Форматирование в научной нотации……………………………………………………………………………………………………… 821

Вставка запятых в качестве разделителей…………………………………………………………………………………………….. 822

Указание минимальной ширины поля…………………………………………………………………………………………………….. 822

Процентный формат чисел с плавающей точкой………………………………………………………………………………….. 824

Форматирование целых чисел………………………………………………………………………………………………………………… 824

Приложение 7. Установка модулей при помощи менеджера пакетов pip…………… 825

Приложение 8. Ответы на вопросы в Контрольных точках……………………………… 826

Глава 1………………………………………………………………………………………………………………………………………………………. 826

Глава 2………………………………………………………………………………………………………………………………………………………. 827

Глава 3………………………………………………………………………………………………………………………………………………………. 829

Глава 4………………………………………………………………………………………………………………………………………………………. 831

Глава 5………………………………………………………………………………………………………………………………………………………. 832

Глава 6………………………………………………………………………………………………………………………………………………………. 834

Глава 7………………………………………………………………………………………………………………………………………………………. 836

Глава 8………………………………………………………………………………………………………………………………………………………. 838

Глава 9………………………………………………………………………………………………………………………………………………………. 839

Глава 10…………………………………………………………………………………………………………………………………………………….. 840

Глава 11…………………………………………………………………………………………………………………………………………………….. 841

Глава 12…………………………………………………………………………………………………………………………………………………….. 842

Глава 13…………………………………………………………………………………………………………………………………………………….. 842

Глава 14…………………………………………………………………………………………………………………………………………………….. 844

Предметный указатель……………………………………………………………………………………… 847

Добавить комментарий