Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд. 🔍
Эрик Мэтиз; [перевод с английского Е. Матвеева] Питер, Библиотека программиста, 3, 2020
English [en] · Russian [ru] · PDF · 6.6MB · 2020 · 📘 Book (non-fiction) · 🚀/lgli/lgrs · Save
description
«Изучаем Python» — это самое популярное в мире руководство по языку Python. Вы сможете максимально быстро освоить Python, научитесь писать программы, устранять ошибки и создавать работающие приложения.
В первой части книги вы познакомитесь с основными концепциями программирования, такими как переменные, списки, классы и циклы, а простые упражнения познакомят вас с шаблонами чистого кода. Вы узнаете, как делать программы интерактивными и как протестировать код, прежде чем добавлять в проект. Во второй части вы примените новые знания на практике и создадите три проекта: аркадную игру в стиле Space Invaders, визуализацию данных с удобными библиотеками Python и простое веб-приложение, которое можно быстро развернуть онлайн.
Код https://ehmatthes.github.io/pcc_2e/regular_index
Alternative filename
lgrsnf/Мэтиз - Изучаем Python. Программирование игр, визуализация данных, веб. 3е - 2020.pdf
Alternative title
Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming
Alternative title
Izuchaem Python. Programmirovanie igr, vizualizatsiya dannyh, veb-prilozheniya
Alternative author
Matthes, Eric
Alternative author
Eric Matthes
Alternative author
Мэтиз, Эрик
Alternative author
Metiz E.
Alternative publisher
No Starch Press, Incorporated
Alternative publisher
Progress kniga
Alternative publisher
Piter
Alternative edition
Бестселлер, 3-е изд., Санкт-Петербург [и др.], Russia, 2020
Alternative edition
United States, United States of America
Alternative edition
Segona edició, San Francisco :, 2019
Alternative edition
2nd edition, San Francisco, CA, 2019
Alternative edition
Russia, Russian Federation
Alternative edition
Illustrated, 2019
Alternative edition
May 03, 2019
Alternative edition
2021
metadata comments
Source title: Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming
metadata comments
Пер.: Matthes, Eric Python crash course San Francisco : No Starch Press, cop. 2019 978-1593279288
metadata comments
РГБ
metadata comments
Russian State Library [rgb] MARC:
=001 010381697
=005 20200819094036.0
=008 200812s2020\\\\ru\\\\\\\\\\\\0||\|\rus|d
=017 \\ $a КН-П-20-042039 $b RuMoRKP
=020 \\ $a 978-5-4461-1528-0
=040 \\ $a RuMoRGB $b rus $e rcr
=041 1\ $a rus $h eng
=044 \\ $a ru
=084 \\ $a З973.2-018.19Python,0 $2 rubbk
=100 1\ $a Мэтиз, Эрик
=245 00 $a Изучаем PYTHON. Программирование игр, визуализация данных, ВЕБ-приложения $c Эрик Мэтиз ; [перевод с английского Е. Матвеева]
=250 \\ $a 3-е изд.
=260 \\ $a Санкт-Петербург [и др.] $b ПИТЕР $c 2020
=300 \\ $a 551 с. $b ил. $c 24 см
=336 \\ $a Текст (визуальный)
=337 \\ $a непосредственный
=490 0\ $a Бестселлер
=534 \\ $p Пер.: $a Matthes, Eric $t Python crash course $c San Francisco : No Starch Press, cop. 2019 $z 978-1593279288
=650 \7 $a Техника. Технические науки -- Энергетика. Радиоэлектроника -- Радиоэлектроника -- Вычислительная техника -- Вычислительные машины электронные цифровые -- Программирование -- Языки программирования -- Python $2 rubbk
=852 \\ $a РГБ $b FB $j 3 20-32/76 $x 90
=852 7\ $a РГБ $b CZ2 $h З973.2-018/М97 $x 83
=852 \\ $a РГБ $b ORF $x 82
=852 \\ $a РГБ $b ORF $x 82
Alternative description
Оглавление
Отзывы о книге
Об авторе
О научном редакторе
Предисловие к третьему изданию
Благодарности
Введение
Для кого написана эта книга?
Чему эта книга вас научит?
Онлайн-ресурсы
Почему именно Python?
От издательства
ЧАСТЬ I. ОСНОВЫ
Глава 1. Первые шаги
Подготовка среды программирования
Версии Python
Выполнение фрагментов кода Python
О текстовом редакторе Sublime Text
Python в разных операционных системах
Python в системе Windows
Установка Python
Запуск Python в терминальном сеансе
Установка Sublime Text
Python в системе macOS
Проверка наличия Python 3 в системе
Установка новейшей версии Python
Запуск Python в терминальном сеансе
Установка Sublime Text
Python в системе Linux
Проверка версии Python
Запуск Python в терминальном сеансе
Установка Sublime Text
Запуск программы Hello World
Настройка Sublime Text для использования правильной версии Python
Запуск hello_world.py
Решение проблем с установкой
Запуск программ Python в терминале
В Windows
В macOS и Linux
Итоги
Глава 2. Переменные и простые типы данных
Что происходит при запуске hello_world.py
Переменные
Выбор имен и использование переменных
Предотвращение ошибок в именах при использовании переменных
Переменные как метки
Строки
Изменение регистра символов в строках
Использование переменных в строках
Табуляции и разрывы строк
Удаление пропусков
Предотвращение синтаксических ошибок в строках
Числа
Целые числа
Вещественные числа
Целые и вещественные числа
Символы подчеркивания в числах
Множественное присваивание
Константы
Комментарии
Как создаются комментарии?
Какие комментарии следует писать?
Дзен Python
Итоги
Глава 3. Списки
Что такое список?
Обращение к элементам списка
Индексы начинаются с 0 а не с 1
Использование отдельных элементов из списка
Изменение добавление и удаление элементов
Изменение элементов в списке
Добавление элементов в список
Присоединение элементов в конец списка
Вставка элементов в список
Удаление элементов из списка
Удаление элемента с использованием команды del
Удаление элемента с использованием метода pop()
Извлечение элементов из произвольной позиции списка
Удаление элементов по значению
Упорядочение списка
Постоянная сортировка списка методом sort()
Временная сортировка списка функцией sorted()
Вывод списка в обратном порядке
Определение длины списка
Ошибки индексирования при работе со списками
Итоги
Глава 4. Работа со списками
Перебор всего списка
Подробнее о циклах
Более сложные действия в циклах for
Выполнение действий после цикла for
Предотвращение ошибок с отступами
Пропущенный отступ
Пропущенные отступы в других строках
Лишние отступы
Лишние отступы после цикла
Пропущенное двоеточие
Создание числовых списков
Функция range()
Использование range() для создания числового списка
Простая статистика с числовыми списками
Генераторы списков
Работа с частью списка
Создание сегмента
Перебор содержимого сегмента
Копирование списка
Кортежи
Определение кортежа
Перебор всех значений в кортеже
Замена кортежа
Стиль программирования
Рекомендации по стилю
Отступы
Длина строк
Пустые строки
Другие рекомендации
Итоги
Глава 5. Команды if
Простой пример
Проверка условий
Проверка равенства
Проверка равенства без учета регистра
Проверка неравенства
Сравнения чисел
Проверка нескольких условий
Использование and для проверки нескольких условий
Использование or для проверки нескольких условий
Проверка вхождения значений в список
Проверка отсутствия значения в списке
Логические выражения
Команды if
Простые команды if
Команды if-else
Цепочки if-elif-else
Серии блоков elif
Отсутствие блока else
Проверка нескольких условий
Использование команд if со списками
Проверка специальных значений
Проверка наличия элементов в списке
Множественные списки
Оформление команд if
Итоги
Глава 6. Словари
Простой словарь
Работа со словарями
Обращение к значениям в словаре
Добавление новых пар «ключ-значение»
Создание пустого словаря
Изменение значений в словаре
Удаление пар «ключ-значение»
Словарь с однотипными объектами
Обращение к значениям методом get()
Перебор словаря
Перебор всех пар «ключ-значение»
Перебор всех ключей в словаре
Перебор ключей словаря в определенном порядке
Перебор всех значений в словаре
Вложение
Список словарей
Список в словаре
Словарь в словаре
Итоги
Глава 7. Ввод данных и циклы while
Как работает функция input()
Содержательные подсказки
Использование int() для получения числового ввода
Оператор вычисления остатка
Циклы while
Цикл while в действии
Пользователь решает прервать работу программы
Флаги
Команда break и выход из цикла
Команда continue и продолжение цикла
Предотвращение зацикливания
Использование цикла while со списками и словарями
Перемещение элементов между списками
Удаление всех вхождений конкретного значения из списка
Заполнение словаря данными, введенными пользователем
Итоги
Глава 8. Функции
Определение функции
Передача информации функции
Аргументы и параметры
Передача аргументов
Позиционные аргументы
Многократные вызовы функций
О важности порядка позиционных аргументов
Именованные аргументы
Значения по умолчанию
Эквивалентные вызовы функций
Предотвращение ошибок в аргументах
Возвращаемое значение
Возвращение простого значения
Необязательные аргументы
Возвращение словаря
Использование функции в цикле while
Передача списка
Изменение списка в функции
Запрет изменения списка в функции
Передача произвольного набора аргументов
Позиционные аргументы с произвольными наборами аргументов
Использование произвольного набора именованных аргументов
Хранение функций в модулях
Импортирование всего модуля
Импортирование конкретных функций
Назначение псевдонима для функции
Назначение псевдонима для модуля
Импортирование всех функций модуля
Стилевое оформление функций
Итоги
Глава 9. Классы
Создание и использование класса
Создание класса Dog
Метод __init__()
Создание экземпляра класса
Обращение к атрибутам
Вызов методов
Создание нескольких экземпляров
Работа с классами и экземплярами
Класс Car
Назначение атрибуту значения по умолчанию
Изменение значений атрибутов
Прямое изменение значения атрибута
Изменение значения атрибута с использованием метода
Изменение значения атрибута с приращением
Наследование
Метод __init__() класса-потомка
Определение атрибутов и методов класса-потомка
Переопределение методов класса-родителя
Экземпляры как атрибуты
Моделирование объектов реального мира
Импортирование классов
Импортирование одного класса
Хранение нескольких классов в модуле
Импортирование нескольких классов из модуля
Импортирование всего модуля
Импортирование всех классов из модуля
Импортирование модуля в модуль
Использование псевдонимов
Выработка рабочего процесса
Стандартная библиотека Python
Оформление классов
Итоги
Глава 10. Файлы и исключения
Чтение из файла
Чтение всего файла
Пути к файлам
Чтение по строкам
Создание списка строк по содержимому файла
Работа с содержимым файла
Большие файлы: миллион цифр
Проверка дня рождения
Запись в файл
Запись в пустой файл
Многострочная запись
Присоединение данных к файлу
Исключения
Обработка исключения ZeroDivisionError
Блоки try-except
Использование исключений для предотвращения аварийного завершения программы
Блок else
Обработка исключения FileNotFoundError
Анализ текста
Работа с несколькими файлами
Ошибки без уведомления пользователя
О каких ошибках нужно сообщать?
Сохранение данных
Функции json.dump() и json.load()
Сохранение и чтение данных, сгенерированных пользователем
Рефакторинг
Итоги
Глава 11. Тестирование
Тестирование функции
Модульные тесты и тестовые сценарии
Прохождение теста
Сбой теста
Реакция на сбойный тест
Добавление новых тестов
Тестирование класса
Разные методы assert
Класс для тестирования
Тестирование класса AnonymousSurvey
Метод setUp()
Итоги
ЧАСТЬ II. ПРОЕКТЫ
Программирование игры на языке Python
Визуализация данных
Веб-приложения
ПРОЕКТ 1. ИГРА «ИНОПЛАНЕТНОЕ ВТОРЖЕНИЕ»
Глава 12. Инопланетное вторжение
Планирование проекта
Установка Pygame
Создание проекта игры
Создание окна Pygame и обработка ввода
Назначение цвета фона
Создание класса Settings
Добавление изображения корабля
Создание класса Ship
Вывод корабля на экран
Рефакторинг: методы _check_events() и _update_screen()
Метод _check_events()
Метод _update_screen()
Управление кораблем
Обработка нажатия клавиши
Непрерывное перемещение
Перемещение влево и вправо
Регулировка скорости корабля
Ограничение перемещений
Рефакторинг _check_events()
Нажатие клавиши Q для завершения
Запуск игры в полноэкранном режиме
В двух словах
alien_invasion.py
settings.py
ship.py
Стрельба
Добавление настроек
Создание класса Bullet
Группировка снарядов
Обработка выстрелов
Удаление старых снарядов
Ограничение количества снарядов
Создание метода _update_bullets()
Итоги
Глава 13. Осторожно пришельцы!
Анализ проекта
Создание пришельца
Создание класса Alien
Создание экземпляра Alien
Построение флота
Вычисление количества пришельцев в одном ряду
Создание ряда
Рефакторинг _create_fleet()
Добавление рядов
Перемещение флота
Перемещение вправо
Создание настроек для направления флота
Проверка достижения края
Снижение флота и смена направления
Уничтожение пришельцев
Выявление коллизий
Создание больших снарядов для тестирования
Восстановление флота
Ускорение снарядов
Рефакторинг _update_bullets()
Завершение игры
Обнаружение коллизий с кораблем
Обработка столкновений с кораблем
Достижение нижнего края экрана
Конец игры
Определение исполняемых частей игры
Итоги
Глава 14. Ведение счета
Добавление кнопки Play
Создание класса Button
Вывод кнопки на экран
Запуск игры
Сброс игры
Блокировка кнопки Play
Сокрытие указателя мыши
Повышение сложности
Изменение настроек скорости
Сброс скорости
Подсчет очков
Вывод счета
Создание экземпляра Scoreboard
Обновление счета при уничтожении пришельцев
Сброс счета
Начисление очков за все попадания
Увеличение стоимости пришельцев
Округление счета
Рекорды
Вывод уровня
Вывод количества кораблей
Итоги
ПРОЕКТ 2. ВИЗУАЛИЗАЦИЯ ДАННЫХ
Глава 15. Генерирование данных
Установка matplotlib
Построение простого графика
Изменение типа надписей и толщины графика
Корректировка графика
Встроенные стили
Нанесение и оформление отдельных точек функцией scatter()
Вывод серии точек функцией scatter()
Автоматическое вычисление данных
Определение пользовательских цветов
Цветовые карты
Автоматическое сохранение диаграмм
Случайное блуждание
Создание класса RandomWalk()
Выбор направления
Вывод случайного блуждания
Генерирование нескольких случайных блужданий
Оформление случайного блуждания
Назначение цветов
Начальные и конечные точки
Удаление осей
Добавление точек
Изменение размера диаграммы для заполнения экрана
Моделирование бросков кубиков в Plotly
Установка Plotly
Создание класса кубика
Бросок кубика
Анализ результатов
Построение гистограммы
Бросок двух кубиков
Броски кубиков с разным числом граней
Итоги
Глава 16. Загрузка данных
Формат CSV
Разбор заголовка файлов CSV
Печать заголовков и их позиций
Извлечение и чтение данных
Нанесение данных на диаграмму
Модуль datetime
Представление дат на диаграмме
Расширение временного диапазона
Нанесение на диаграмму второй серии данных
Цветовое выделение части диаграммы
Проверка ошибок
Загрузка собственных данных
Построение карт с глобальными наборами данных: формат JSON
Загрузка данных землетрясений
Знакомство с данными
Построение списка всех землетрясений
Извлечение магнитуд
Извлечение данных местоположения
Построение карты мира
Другой способ определения данных для диаграммы
Настройка размера маркера
Настройка цвета маркеров
Другие цветовые шкалы
Добавление подсказки
Итоги
Глава 17. Работа с API
Использование API веб-приложений
Git и GitHub
Запрос данных с использованием вызовов API
Установка пакета requests
Обработка ответа API
Работа со словарем ответа
Сводка самых популярных репозиториев
Проверка ограничений частоты обращений API
Визуализация репозиториев с использованием Plotly
Доработка диаграмм Plotly
Добавление подсказок
Добавление активных ссылок на диаграмму
Подробнее о Plotly и GitHub API
API Hacker News
Итоги
ПРОЕКТ 3. ВЕБ-ПРИЛОЖЕНИЯ
Глава 18. Знакомство с Django
Подготовка к созданию проекта
Написание спецификации
Создание виртуальной среды
Активизация виртуальной среды
Установка Django
Создание проекта в Django
Создание базы данных
Просмотр проекта
Начало работы над приложением
Определение моделей
Активизация моделей
Административный сайт Django
Создание суперпользователя
Регистрация модели на административном сайте
Добавление тем
Определение модели Entry
Миграция модели Entry
Регистрация Entry на административном сайте
Интерактивная оболочка Django
Создание страниц: домашняя страница Learning Log
Сопоставление URL
Написание представления
Написание шаблона
Построение других страниц
Наследование шаблонов
Родительский шаблон
Дочерний шаблон
Страница со списком тем
Схема URL для тем
Представление topics
Шаблон topics
Страницы отдельных тем
Схема URL для отдельных тем
Представление отдельной темы
Шаблон отдельной темы
Ссылки на странице
Итоги
Глава 19. Учетные записи пользователей
Редактирование данных
Добавление новых тем
Объект ModelForm
URL-адрес для new_topic
Функция представления new_topic()
Запросы GET и POST
Шаблон new_topic
Создание ссылки на страницу new_topic
Добавление новых записей
Класс EntryForm
URL-адрес для new_entry
Функция представления new_entry()
Шаблон new_entry
Создание ссылки на страницу new_entry
Редактирование записей
URL-адрес для edit_entry
Функция представления edit_entry()
Шаблон edit_entry
Создание ссылки на страницу edit_entry
Создание учетных записей пользователей
Приложение users
Добавление пользователей в settings.py
Включение URL-адресов из users
Страница входа
Шаблон login
Создание ссылки на страницу входа
Использование страницы входа
Выход
Добавление ссылки для выхода
Страница подтверждения выхода
Страница регистрации
URL-адрес регистрации
Функция представления register()
Шаблон регистрации
Создание ссылки на страницу регистрации
Редактирование данных
Ограничение доступа с использованием @login_required
Ограничение доступа к страницам тем
Ограничение доступа в Learning Log
Связывание данных с конкретными пользователями
Изменение модели Topic
Идентификация существующих пользователей
Миграция базы данных
Ограничение доступа к темам
Защита тем пользователя
Защита страницы edit_entry
Связывание новых тем с текущим пользователем
Итоги
Глава 20. Оформление и развертывание приложения
Оформление приложения Learning Log
Приложение django-bootstrap4
Использование Bootstrap для оформления Learning Log
Изменение base.html
Определение заголовков HTML
Определение навигационной панели
Определение основного раздела страницы
Оформление домашней страницы с использованием табло
Оформление страницы входа
Оформление страницы со списком тем
Оформление записей на странице темы
Развертывание Learning Log
Создание учетной записи Heroku
Установка инструментария Heroku CLI
Установка необходимых пакетов
Создание файла requirements.txt
Назначение исполнительной среды Python
Изменение файла settings.py для Heroku
Создание файла Procfile для запуска процессов
Использование Git для управления файлами проекта
Установка Git
Настройка Git
Игнорирование файлов
Отображение скрытых файлов
Закрепление состояния проекта
Отправка проекта
Подготовка базы данных в Heroku
Доработка развернутого приложения
Создание суперпользователя в Heroku
Создание удобного URL-адреса на Heroku
Безопасность проекта
Закрепление и отправка изменений
Назначение переменных среды в Heroku
Создание специализированных страниц ошибок
Создание пользовательских шаблонов
Локальный просмотр страниц ошибок
Отправка изменений на Heroku
Использование метода get_object_or_404()
Текущая разработка
Параметр SECRET_KEY
Удаление проекта с Heroku
Итоги
Послесловие
Приложения
А. Установка Python и диагностика проблем
Python в Windows
Поиск интерпретатора Python
Включение Python в переменную PATH
Переустановка Python
Python в macOS
Установка Homebrew
Установка Python
Python в системе Linux
Ключевые слова Python и встроенные функции
Ключевые слова Python
Встроенные функции Python
Б. Текстовые редакторы
Настройка Sublime Text
Преобразование табуляций в пробелы
Выбор индикатора длины строки
Расстановка и отмена отступов в блоках
Преобразование блоков в комментарии
Сохранение конфигурации
Дальнейшая настройка
Другие текстовые редакторы и IDE
IDLE
Geany
Emacs и vim
Atom
Visual Studio Code
PyCharm
Jupyter Notebook
В. Помощь и поддержка
Первые шаги
Попробуйте заново
Сделайте перерыв
Обратитесь к ресурсам этой книги
Поиск в интернете
Stack Overflow
Официальная документация Python
Официальная документация библиотек
r/learnpython
Сообщения в блогах
IRC (Internet Relay Chat)
Создание учетной записи IRC
Выбор канала
Культура IRC
Slack
Discord
Г. Git и контроль версий
Установка Git
Установка Git в Windows
Установка Git в macOS
Установка Git в Linux
Настройка Git
Создание проекта
Игнорирование файлов
Инициализация репозитория
Проверка статуса
Добавление файлов в репозиторий
Закрепление
Просмотр журнала
Второе закрепление
Отмена изменений
Извлечение предыдущих закреплений
Удаление репозитория
Alternative description
Second edition of the best selling Python book in the world. A fast-paced, no-nonsense guide to programming in Python. This book teaches beginners the basics of programming in Python with a focus on real projects. This is the second edition of the best selling Python book in the world. Python Crash Course, 2nd Edition is a straightforward introduction to the core of Python programming. Author Eric Matthes dispenses with the sort of tedious, unnecessary information that can get in the way of learning how to program, choosing instead to provide a foundation in general programming concepts, Python fundamentals, and problem solving. Three real world projects in the second part of the book allow readers to apply their knowledge in useful ways. Readers will learn how to create a simple video game, use data visualization techniques to make graphs and charts, and build and deploy an interactive web application. Python Crash Course, 2nd Edition teaches beginners the essentials of Python quickly so that they can build practical programs and develop powerful programming techniques
Alternative description
This is the second edition of the best selling Python book in the world. Python Crash Course, 2nd Edition is a straightforward introduction to the core of Python programming. Author Eric Matthes dispenses with the sort of tedious, unnecessary information that can get in the way of learning how to program, choosing instead to provide a foundation in general programming concepts, Python fundamentals, and problem solving. Three real world projects in the second part of the book allow readers to apply their knowledge in useful ways. Readers will learn how to create a simple video game, use data visualization techniques to make graphs and charts, and build and deploy an interactive web application. Python Crash Course, 2nd Edition teaches beginners the essentials of Python quickly so that they can build practical programs and develop powerful programming techniques. - Amazon.com
Alternative description
Uehara Sakukazu, Hirota Osamu Hen. Includes Bibliographical References. 上原作和, 広田収編.
date open sourced
2024-08-16
Read more…

🐢 Slow downloads

From trusted partners. More information in the FAQ. (might require browser verification — unlimited downloads!)

All download options have the same file, and should be safe to use. That said, always be cautious when downloading files from the internet, especially from sites external to Anna’s Archive. For example, be sure to keep your devices updated.
  • For large files, we recommend using a download manager to prevent interruptions.
    Recommended download managers: Motrix
  • You will need an ebook or PDF reader to open the file, depending on the file format.
    Recommended ebook readers: Anna’s Archive online viewer, ReadEra, and Calibre
  • Use online tools to convert between formats.
    Recommended conversion tools: CloudConvert and PrintFriendly
  • You can send both PDF and EPUB files to your Kindle or Kobo eReader.
    Recommended tools: Amazon‘s “Send to Kindle” and djazz‘s “Send to Kobo/Kindle”
  • Support authors and libraries
    ✍️ If you like this and can afford it, consider buying the original, or supporting the authors directly.
    📚 If this is available at your local library, consider borrowing it for free there.