Python — это весело!
Короткая экскурсия по тому, что вы будете строить своими руками на страницах этой книги, — и честный взгляд на то, где Python применяется в реальном мире.
Игры!
В главах 17, 19 и 21 вы соберёте три настоящие игры целиком: «Крестики-нолики», «Змейку» и космический шутер — от пустого окна до готовой игры с очками и правилами. Каждая из них строится маленькими понятными шагами, а не появляется одним большим куском кода.
Графика и анимация
Уже в главе 6 вы начнёте рисовать на экране с помощью модуля turtle
— виртуальной черепашки с пером, которая двигается по вашим командам. Вот как выглядит код,
рисующий квадрат — просто для примера, разбирать его подробно будем позже:
import turtle
artist = turtle.Turtle()
for _ in range(4):
artist.forward(100) # едем вперёд
artist.right(90) # поворачиваем на 90°
for (цикл) появится только в главе 10. Здесь достаточно увидеть, что настоящий рисунок получается всего из нескольких строк.Веб-сайты
В главе 22 вы узнаете, как устроен веб — что делают HTML, CSS и JavaScript в браузере, какую роль играет Python на сервере, — и запустите собственный работающий сайт на Flask.
Приложения
С помощью модуля Tkinter (главы 16–18) вы соберёте настоящие
оконные приложения с кнопками и полями ввода — калькулятор чаевых и собственное приложение
для рисования, — а не только программы, которые выводят текст в терминал.
Где применяется Python в реальном мире
Игры, графика, приложения и сайты из этой книги — только часть картины. За пределами учебного курса Python используют в очень разных областях:
- Автоматизация и скрипты — переименовать сотни файлов, обработать таблицу, запустить рутинную задачу по расписанию.
- Веб-разработка — серверная часть крупных сайтов (Django, Flask и похожие инструменты).
- Анализ данных и наука — обработка больших таблиц данных, статистика, научные вычисления (pandas, NumPy).
- Искусственный интеллект и машинное обучение — обучение и запуск моделей (PyTorch, TensorFlow и другие).
- Серверные и backend-сервисы — API, очереди задач, внутренние инструменты компаний.
- Тестирование программ — автоматические тесты для другого софта, независимо от того, на каком языке он написан.
- DevOps и инфраструктура — скрипты развёртывания, автоматизация серверов.
- Образование — один из самых популярных первых языков программирования в мире, в том числе в этой книге.
- Инструменты кибербезопасности — сканеры, автоматизация анализа уязвимостей.
- Встраиваемые системы — MicroPython на микроконтроллерах и небольших устройствах.
Где Python — не лучший выбор
Честности ради: Python не подходит одинаково хорошо для абсолютно всего. Несколько примеров, где обычно выбирают другие инструменты:
- Системы жёсткого реального времени — там, где опоздание в доли миллисекунды недопустимо (например, некоторые встроенные системы управления), обычно выбирают более предсказуемые по времени выполнения языки.
- Некоторые нативные мобильные приложения — для iOS и Android чаще используют инструменты, «родные» для этих платформ.
- Низкоуровневая работа с ядром ОС и драйверами устройств — эта область обычно требует языков вроде C, дающих прямой контроль над памятью и железом.
- Сильно ограниченные по памяти окружения — там, где даже MicroPython оказывается слишком «тяжёлым», выбирают C или ассемблер.
Это нормально — ни один язык программирования не universal. Знать сильные и слабые стороны инструмента — часть профессионального роста.