Программируем на Python - Эта книга - идеальное пособие для начинающих изучать Python. Руководство, написанное опытным разработчиком и преподавателем, научит фундаментальным принципам программирования на примере создания простых игр. Вы приобретете необходимые навыки для разработки приложений на Python и узнаете, как их применять в реальной практике. Для лучшего усвоения материала в книге приведено множество примеров программного кода. В конце каждой главы вы найдете проект полноценной игры, иллюстрирующий ключевые идеи изложенной темы, а также краткое резюме пройденного материала и задачи для самопроверки. Прочитав эту книгу, вы всесторонне ознакомитесь с языком Python, усвоите базовые принципы программирования и будете готовы перенести их на почву других языков, за изучение которых возьметесь. Научитесь программировать на Python играючи!
Название: Программируем на Python Автор: Майкл Доусон Издательство: Питер Год: 2014 Страниц: 416 Формат: PDF Размер: 52,8 МБ ISBN: 978-5-496-01071-9 Качество: Отличное Язык: Русский
Содержание:
Благодарности Об авторе Введение От издательства Глава 1. Начало работы. Программа Game Over Изучаем программу Game Over Знакомство с Python Python прост в использовании Python - мощный язык Python - объектно-ориентированный язык Python - «склеивающий» язык Python работает на всех платформах Сообщество программистов на Python Python - бесплатная система с открытым исходным кодом Установка Python в Windows Установка Python в других операционных системах Знакомство с IDLE Программирование в интерактивном режиме Программирование в сценарном режиме Вернемся к программе Game Over Использование комментариев Пустые строки Печать строки Ожидаем пользователя Резюме Глава 2. Типы, переменные и основы ввода-вывода. Программа «Бесполезные факты» Знакомство с программой «Бесполезные факты» Строки и кавычки Знакомство с программой Game Over Кавычки внутри строк Вывод на экран нескольких значений Задание завершающей строки при выводе Создание строк в тройных кавычках Esсаре-последовательности в строках Знакомство с программой «Воображаемые благодарности» Вставка табуляционного отступа Вывод обратного слеша Вставка пустой строки Вставка кавычек Звук системного динамика Сцепление и повторение строк Знакомство с программой «Забавные строки» Сцепление строк Символ продолжения строки Повторение строк Работа с числами Знакомство с программой «Текстовые задачи» Числовые типы данных Применение математических операторов Переменные Знакомство с программой «Привет» Создание переменных Использование переменных Имена переменных Получение пользовательского ввода Знакомство с программой «Персональный привет» Применение функции input() Применение строковых методов Знакомство с программой «Манипуляции с цитатой» Создание новых строк с помощью строковых методов Правильно выбранный тип Знакомство с программой «Рантье» (версия с ошибкой) Обнаружение и устранение логических ошибок Конвертация значений Знакомство с программой «Рантье» (версия без ошибки) Преобразование строк в целые числа Составные операторы присвоения Вернемся к программе «Бесполезные факты» Начальные комментарии Получение пользовательского ввода Вывод паmе на экран в нижнем и верхнем регистре Пятикратный вывод имени Подсчет количества секунд Вычисление значений moon_weight и sun_weight Ожидание выхода Резюме Глава 3. Ветвление, циклы с оператором while и псевдокод. Игра «Отгадай число» Генерирование случайных чисел Знакомство с программой «Кости» Импорт модуля random Применение функции randint() Применение функции randrange() Условные конструкции с if Знакомство с программой «Пароль» Разбираемся, как работает конструкция if Создание условий Операторы сравнения Создание блоков кода с помощью отступов Создание собственных условных конструкций Конструкции if с условием else Знакомство с программой «Открыто/Закрыто» Разбираемся в условиях else Использование выражения elif Знакомство с программой «Компьютерный датчик настроения» Разбираемся в условиях elif Создание циклов с использованием while Знакомство с программой «Симулятор трехлетнего ребенка» Разбираемся в работе цикла while Инициализация управляющей переменной Проверка значения управляющей переменной Изменение значения управляющей переменной Борьба с бесконечными циклами Знакомство с программой «Проигранное сражение» Трассировка программы Условия, которые могут становиться ложными Значения как условия Знакомство с программой «Метрдотель» Истинные и ложные значения Намеренное создание бесконечных циклов Знакомство с программой «Привередливая считалка» Выход из цикла с помощью команды break Команда continue и возврат к началу цикла Как пользоваться командами break и continue Составные условия Знакомство с программой «Эксклюзивная сеть» Логический оператор not Логический оператор and Логический оператор ог Планирование программ Алгоритмы на псевдокоде Пошаговая доработка алгоритма Вернемся к игре «Отгадай число» План программы Начальный блок комментариев Импорт модуля random Объяснение правил Установка начальных значений Цикл отгадывания Поздравления победителю Ожидание выхода Резюме Глава 4. Циклы с оператором for, строки и кортежи. Игра «Анаграммы» Знакомство с игрой «Анаграммы» Применение циклов for Знакомство с программой «Слово по буквам» Разбираемся в работе цикла for Создание цикла for Счет с помощью цикла for Знакомство с программой «Считалка» Счет по возрастанию Счет по числам, кратным пяти Счет по убыванию Операторы и функции для работы с последовательностями: применение к строкам Знакомство с программой «Анализатор текста» Применение функции len() Применение оператора in Индексация строк Знакомство с программой «Случайные буквы» Позиции с положительными номерами Позиции с отрицательными номерами Случайный элемент строки Что такое неизменяемость строк Конструируем новую строку Знакомство с программой «Только согласные» Создание констант Создание новых строк из существующих Срезы строк Знакомство с программой «Резчик пиццы» Значение None Разбираемся в срезах Создание срезов Сокращения в записи срезов Создание кортежей Знакомство с программой «Арсенал героя» Создание пустого кортежа Кортеж как условие Создание непустого кортежа Вывод элементов кортежа на экран Перебор элементов кортежа Использование кортежей Знакомство с программой «Арсенал героя 2.0» Настройка программы Применение функции len() к кортежам Применение оператора in к кортежам Индексация кортежей Срезы кортежей Неизменяемость кортежей Сцепление кортежей Вернемся к игре «Анаграммы» Настройка программы Как сформировать анаграмму Создание пустой строки для анаграммы Настройка цикла Выбор случайной позиции в слове Новая версия jumЫe Новая версия word Программа приветствует игрока Получение пользовательского ввода Поздравление с правильно отгаданным словом Конец игры Резюме Глава 5. Списки и словари. Игра «Виселица» Знакомство с игрой «Виселица» Использование списков Знакомство с программой «Арсенал героя 3.0» Создание списка Применение функции len() к спискам Применение оператора in к спискам Индексация списков Срезы списков Сцепление списков Изменяемость списков Присвоение нового значения элементу выбранному по индексу Присвоение новых значений срезу списка Удаление элемента списка Удаление среза списка Применение списочных методов Знакомство с программой «Рекорды» Настройка программы Отображение меню Выход из программы Отображение списка рекордов Добавление рекорда Удаление рекорда Сортировка списка рекордов Обработка ошибочного выбора Ожидаем пользователя Когда использовать кортежи, а когда - списки Вложенные последовательности Знакомство с программой «Рекорды 2.0» Создаем вложенные последовательности Доступ к вложенным элементам Распаковка последовательности Настройка программы Вывод результатов, содержащихся во вложенных кортежах Добавление результата как вложенного кортежа Обработка ошибочного выбора Ожидаем пользователя Распределенные ссылки Использование словарей Знакомство с программой «Переводчик с гикского на русский» Создание словарей Доступ к значениям в словаре Настройка программы Поиск значения Добавление пары «ключ - значение» Замена пары «ключ - значение» Удаление пары «ключ - значение Обработка ошибочного выбора Особенности словарей Вернемся к игре «Виселица» Настройка программы Создание констант Инициализация переменных Создание основного цикла Получение ответа игрока Проверка наличия буквы в слове Завершение игры Резюме Глава 6. Функции. Игра «Крестики-нолики» Знакомство с игрой «Крестики-нолики» Создание функций Знакомство с программой «Инструкция» Объявление функции Документирование функции Вызов нестандартной функции Что такое абстракция Параметры и возвращаемые значения Знакомство с программой «Принимай - возвращай» Передача данных с помощью параметров Возврат значений функциями Что такое инкапсуляция Функции, которые и принимают и возвращают значения Что такое повторное использование кода Именованные аргументы и значения параметров по умолчанию Знакомство с программой «День рождения» Позиционные параметры и позиционные аргументы Позиционные параметры и именованные аргументы Значения параметров по умолчанию Использование глобальных переменных и констант Что такое области видимости Знакомство с программой «Доступ отовсюду» Чтение глобальной переменной внутри функции Затенение глобальной переменной внутри функции Изменение глобальной переменной внутри функции Когда использовать глобальные переменные и константы Вернемся к игре «Крестики-нолики» План программы «Крестики-нолики» Настройка программы Функция display_instruct() Функция ask_yes_no() Функция ask_numЬer() Функция pieces() Функция new_Ьoard() Функция display _Ьoard() Функция legal_moves() Функция winпer() Функция human_move() Функция computer_move() Функция next_turn() Функция congrat_winner() Функция maiп() Запуск программы Резюме Глава 7. Файлы и исключения. Игра «Викторина» Знакомство с игрой «Викторина» Чтение текстового файла Знакомство с программой «Прочитаем» Открытие и закрытие файла Чтение текстового файла Посимвольное чтение строки Чтение всех строк файла в список Перебор строк файла Запись в текстовый файл Знакомство с программой «3апишем» запись строк в файл запись списка строк в файл Хранение структурированных данных в файлах Знакомство с программой «3аконсервируем» Консервация данных и запись в файл Чтение и расконсервация данных из файла Полка для хранения консервированных данных Извлечение консервированных данных через интерфейс полки Обработка исключений Знакомство с программой «Обработаем» Применение конструкций try/except Типы исключений Обработка нескольких типов исключений Аргумент исключения Добавление блока else Вернемся к игре «Викторина» Как организованы данные в текстовом файле Функция open_file() Функция next_line() Функция next_Ьlock() Функция welcome() Настройка игры Задание вопроса Получение ответа Проверка ответа Переход к следующему вопросу Завершение игры Запуск функции main() Резюме Глава 8. Программные объекты. Программа «Моя зверюшка» Знакомство с программой «Моя зверюшка» Основы объектно-ориентированного подхода Создание классов, методов и объектов Знакомство с программой «Просто зверюшка» Объявление класса Объявление метода Создание объекта Вызов метода Применение конструкторов Знакомство с программой «Зверюшка с конструктором» Создание конструктора Создание нескольких объектов Применение атрибутов Знакомство с программой «Зверюшка с атрибутом» Инициализация атрибутов Доступ к атрибутам Вывод объекта на экран Применение атрибутов класса и статических методов Знакомство с программой «Классово верная зверюшка» Создание атрибута класса Доступ к атрибуту класса Создание статического метода Вызов статического метода Что такое инкапсуляция объектов Применение закрытых атрибутов и методов Знакомство с программой «Закрытая зверюшка» Создание закрытых атрибутов Доступ к закрытым атрибутам Создание закрытых методов Доступ к закрытым методам Соблюдаем приватность В каких случаях нужны закрытые атрибуты и методы Управление доступом к атрибутам Знакомство с программой «Зверюшка со свойствами» Создание свойств Доступ к свойствам Вернемся к программе «Моя зверюшка» Класс Critter Создание зверюшки Создание меню Запуск программы Резюме Глава 9. Объектно-ориентированное программирование. Игра «Блек-джек» Знакомство с игрой «Блек-джек» Отправка и прием сообщений Знакомство с программой «Гибель пришельца» Отправка сообщения Прием сообщения Сочетание объектов Знакомство с программой «Карты» Создание класса card Создание класса Hand Применение объектов-карт Сочетание объектов-карт в объекте Hand Создание новых классов с помощью наследования Расширение класса через наследование Знакомство с программой «Карты 2.0» Создание базового класса Наследование от базового класса Расширение производного класса Применение производного класса Переопределение унаследованных методов Знакомство с программой «Карты 3.0» Создание базового класса Переопределение методов базового класса Вызов методов базового класса Применение производного класса Что такое полиморфизм Создание модулей Знакомство с программой «Простая игра» Пишем модуль Импорт модулей Применение импортированных функций и классов Вернемся к игре «Блек-джек» Модуль cards Продумаем систему классов Напишем псевдокод для основного цикла игры Импорт модулей cards и games Класс BJ_card Класс ВJ_Deck Класс BJ_Hand Класс BJ_Player Класс ВJ_Dealer Класс ВJ_Game Функция main() Резюме Глава 10. Разработка графических интерфейсов. Программа «Сумасшедший сказочник» Знакомство с программой «Сумасшедший сказочник» GUI в подробностях Что такое событийно-ориентированное программирование Базовое окно Знакомство с программой «Простейший GUI» Импорт модуля tkinter Создание базового окна Изменение вида базового окна Запуск событийного цикла базового окна Применение меток Знакомство с программой «Это я, метка» Настройка программы Создание рамки Создание метки Запуск событийного цикла базового окна Применение кнопок Знакомство с программой «Бесполезные кнопки» Настройка программы Создание кнопок Запуск событийного цикла базового окна Создание GUI с помощью класса Знакомство с программой «Бесполезные кнопки - 2» Импорт модуля tkiпter Объявление класса Application Объявление метода-конструктора Объявление метода, создающего элементы управления Создание объекта класса Applicatioп Связывание элементов управления с обработчиками событий Знакомство с программой «Счетчик щелчков» Настройка программы Связывание обработчика с событием Создание обработчика события Обертка программы Текстовые поля и области. Менеджер размещения Grid Знакомство с программой «Долгожитель» Настройка программы Размещение элементов управления с помощью менеджера Grid Создание текстового поля Создание текстовой области Текстовые элементы: извлечение и вставка данных Обертка программы Применение флажков Знакомство с программой «Киноман» Настройка программы Ссылка только на родительский объект элемента управления Создание флажков Получение статуса флажка Обертка программы Применение переключателей Знакомство с программой «Киноман-2» Настройка программы Создание переключателя Доступ к значениям в переключателе Обертка программы Вернемся к программе «Сумасшедший сказочник» Импорт модуля tkinter Метод-конструктор класса Application Метод create_widgets() класса Application Метод tell_story() класса Application Основная часть программы Резюме Глава 11. Графика. Игра «Паника в пиццерии» Знакомство с игрой «Паника в пиццерии» Знакомство с пакетами pygame и livewires Создание графического окна Знакомство с программой «Новое графическое окно» Импорт модуля games Инициализация графического экрана запуск основного цикла Назначение фоновой картинки Знакомство с программой «Фоновая картинка» Загрузка изображения Установка фона Что такое система координат графики Отображение спрайта Знакомство с программой «Спрайт-пицца» загрузка изображения для спрайта Создание спрайта Добавление спрайта на экран Отображение текста Знакомство с программой «Ничего себе результат!» Импорт модуля color Создание объекта Text Добавление объекта Text на экран Вывод сообщения Знакомство с программой «Победа» Импорт модуля color Создание объекта Message Ширина и высота графического экрана Добавление объекта Message на экран Подвижные спрайты Знакомство с программой «Летающая пицца» Настройка скорости движения спрайта Учет границ экрана Программа «Скачущая пицца» Настройка программы Создание подкласса Sprite Переопределение метода update() Обертка программы Обработка ввода с помощью мыши Знакомство с программой «Подвижная сковорода» Настройка программы Чтение координат указателя Настройка видимости указателя Перенаправление ввода в графическое окно Обертка программы Регистрация столкновений Знакомство с программой «Ускользающая пицца» Настройка программы Регистрация столкновений Обработка столкновений Обертка программы Вернемся к игре «Паника в пиццерии» Настройка программы Класс Рап Класс Pizza Класс Chef Функция main() Резюме Глава 12. Звук, анимация, разработка больших программ. Игра «Прерванный полет» Знакомство с игрой «Прерванный полет» Чтение с клавиатуры Знакомство с программой «Читаю с клавиатуры» Настройка программы Регистрация нажатий Обертка программы Вращение спрайта Знакомство с программой «Крутящийся спрайт» Применение свойства angle у спрайтов Создание анимации Знакомство с программой «Взрыв» Посмотрим на картинки Настройка программы Создание списка изображений Создание анимированного объекта Работа со звуком и музыкой Знакомство с программой «Звук и музыка» Работа со звуком Работа с музыкой Обертка программы Разработка игры «Прерванный полет» Функциональность игры Классы игры Медиаресурсы Создание астероидов Программа «Прерванный полет - 1» Настройка программы Класс Asteroid Функция main() Вращение корабля Программа «Прерванный полет - 2» Класс Ship Инстанцирование класса Ship Движение корабля Программа «Прерванный полет - 3» Импорт модуля math Добавление переменной и константы в класс Ship Изменение метода upclate() объекта Ship Стрельба ракетами Программа «Прерванный полет - 4» Изменение метода upclate() объекта Ship Класс Missile Управление плотностью огня Программа «Прерванный полет - 5» Добавление константы в класс Ship Создание метода-конструктора в классе Ship Изменение метода update() объекта Ship Обработка столкновений Программа «Прерванный полет - 6» Изменение метода upclate() объекта Missile Добавление метода die() объекту Missile Изменение метода update() объекта Ship Добавление метода die() объекту Ship Добавление константы в класс Asteroid Добавление метода die() объекту Asteroid Добавление взрывов Программа «Прерванный полет - 7» Класс Wrapper Класс Collider Изменение класса Asteroid Изменение класса Ship Изменение класса Missile Класс Explosion Уровни, ведение счета, музыкальная тема Программа «Прерванный полет - 8» Импорт модуля color Класс Game Добавление переменной и константы в класс Asteroid Изменение метода-конструктора в классе Asteroid Изменение метода die() объекта Asteroid Добавление константы в класс Ship Изменение метода-конструктора в классе Ship Изменение метода update() объекта Ship Добавление метода die() объекту Ship Функция main() Резюме Приложение А. Сайт-помощник Приложение В. Справка по пакету livewires Пакет livewires Классы модуля games Класс Screen Класс Sprite Класс Text Класс Message Класс Animation Класс Mouse Класс Keyboard Класс Music Функции модуля games Константы модуля games Константы модуля color Алфавитный указатель