В прошлом уроке мы общались с Python в REPL — построчно, как в чате. Это здорово для быстрой проверки, но есть проблема: как только ты закроешь терминал, весь набранный код исчезнет. Если завтра захочешь запустить ту же программу, придётся набирать всё заново. Для одной строчки не страшно, а для ста — катастрофа.
Решение очевидно: сохранить код в файл. Такой файл с кодом называется скрипт. В этом уроке мы создадим свой первый скрипт hello.py и запустим его. Это ровно то, как пишут настоящие программы.
Два способа запускать код
Итак, у нас есть два разных способа давать Python инструкции. Давай разложим их рядом.
REPL (интерактивный режим) — ты пишешь по одной строчке, Python отвечает сразу. Удобно попробовать что-то на ходу, посчитать, проверить идею. Но код нигде не сохраняется.
Скрипт (файл с кодом) — ты заранее пишешь весь код в файл, сохраняешь его, а потом запускаешь целиком одной командой. Код хранится на диске, его можно запускать сколько угодно раз, редактировать, отправлять другим людям.
Один режим для быстрых проб, другой — для настоящих программ.
Хорошая новость: сам код внутри одинаковый. Команда print("Привет") работает и там, и там. Меняется только то, как мы её даём Python: по строчке в REPL или целым файлом как скрипт.
Что такое расширение .py
Файл со скриптом на Python принято называть с окончанием .py в конце имени, например hello.py. Это окончание называется расширение файла, мы говорили про него в модуле 03.
Расширение .py — это подсказка и для тебя, и для компьютера: «внутри код на Python». Сам Python на самом деле не требует именно .py, но так принято у всех, и это удобно: глядя на список файлов, ты сразу видишь, где код. Договоримся всегда называть Python-скрипты с .py на конце.
Шаг 1. Создаём файл hello.py
Создать файл можно по-разному. Один способ — текстовым редактором (про редакторы будет следующий урок). Но сейчас сделаем это прямо из терминала, так быстрее для первого раза.
Открой терминал. Если ты на Windows — это то же окно WSL2/Ubuntu, в котором мы работали начиная с модуля 02, а не PowerShell. То есть команда для тебя ровно такая же, как на Mac и Linux. Создадим пустой файл командой:
touch hello.py
Команда touch создаёт пустой файл с указанным именем в текущей папке. Файл hello.py теперь существует, но он пустой — внутри ничего нет. Проверить, что он появился, можно командой списка файлов:
ls
Среди прочего ты увидишь:
hello.py
Только для Windows: наш учебный терминал — это окно WSL2/Ubuntu из модуля 02, а НЕ синее окно PowerShell. В PowerShell своя команда создания файла (New-Item) и там потом не сработает наша команда запуска python3 hello.py. Чтобы не путаться, держи открытым именно окно Ubuntu и набирай все команды курса в нём.
Помни про текущую папку из модуля 03. Файл создаётся там, где ты сейчас находишься в терминале. Перед созданием полезно зайти в удобную папку, например в Документы или в специально созданную папку для учёбы, чтобы потом легко его найти. Узнать, где ты сейчас, помогает команда pwd.
Шаг 2. Пишем код в файл
Теперь нужно положить внутрь файла код. Самый дружелюбный способ для новичка — открыть файл в любом текстовом редакторе (например, в стандартном Блокноте на Windows или TextEdit на Mac, а лучше в VS Code из следующего урока), напечатать строку и сохранить.
Открой hello.py в редакторе и набери внутри ровно одну строку:
print("Привет из файла")
Сохрани файл (обычно это меню «Файл — Сохранить» или сочетание клавиш Control и S, на Mac — Command и S). Всё, код теперь лежит в файле и никуда не денется, даже если закрыть терминал и выключить компьютер.
Шаг 3. Запускаем скрипт
Вернись в терминал и убедись, что ты в той же папке, где лежит hello.py. Теперь запусти файл командой:
python3 hello.py
Python прочитает весь файл сверху вниз, выполнит код и покажет результат:
Привет из файла
Получилось. Разберём, что именно произошло. Команда python3 hello.py состоит из двух частей: python3 — это запуск Python, а hello.py — имя файла, который Python должен выполнить. То есть мы говорим: «Python, возьми вот этот файл и сделай всё, что в нём написано».
Скрипт выполняет всё по порядку
Главное отличие от REPL: скрипт выполняется целиком, сверху вниз, без остановок. Добавь в файл несколько строк, чтобы это увидеть. Открой hello.py в редакторе и сделай так:
print("Первая строка")
print("Вторая строка")
print("Третья строка")
Сохрани и снова запусти:
python3 hello.py
Результат:
Первая строка
Вторая строка
Третья строка
Python выполнил все три команды по очереди, сверху вниз, и вывел всё сразу. Это и есть программа: набор инструкций в файле, которые выполняются по порядку.
Помни различие из прошлого урока: в файле-скрипте результат сам по себе не показывается. Если ты напишешь в файле просто строку 2 + 2 без print и запустишь, на экране НИЧЕГО не появится. Python посчитает 2 + 2, получит 4 и молча выкинет результат, потому что ты не попросил его показать. Чтобы увидеть число в скрипте, оберни его в print: напиши print(2 + 2). В REPL так не нужно, а в файле — обязательно.
Когда что использовать
Простое правило на будущее. REPL — для быстрых проб: посчитать, проверить, как работает одна команда, поиграться. Скрипт — для всего, что ты хочешь сохранить и запускать не один раз: твоя настоящая программа. По мере учёбы ты будешь постоянно пользоваться обоими: что-то быстро пробовать в REPL, а готовое складывать в файлы.
Попробуй сам
- Создай файл
about_me.pyкомандойtouch about_me.py(на Windows — в том же окне WSL2/Ubuntu, команда та же). Открой его в редакторе и напиши три строки про себя:
print("Меня зовут Аня")
print("Я учусь программировать")
print("Мой любимый цвет синий")
Сохрани и запусти командой:
python3 about_me.py
Ожидаемый вывод:
Меня зовут Аня
Я учусь программировать
Мой любимый цвет синий
- Добавь в самый конец файла строку с примером:
print(2 + 2). Сохрани, запусти и убедись, что внизу появилось число4. Потом убериprintвокруг — оставь просто2 + 2— снова запусти и убедись, что число4теперь НЕ появляется. Так ты прочувствуешь, чем файл-скрипт отличается от REPL.
В следующем уроке разберёмся, в чём редакторы вроде Блокнота уступают серьёзным инструментам, и поставим VS Code — программу, в которой удобно писать код.