Learning Platform
Глоссарий Troubleshooting
Урок 05.03 · 18 мин
Начальный
СкриптREPLhello.pypython3Файлы

В прошлом уроке мы общались с Python в REPL — построчно, как в чате. Это здорово для быстрой проверки, но есть проблема: как только ты закроешь терминал, весь набранный код исчезнет. Если завтра захочешь запустить ту же программу, придётся набирать всё заново. Для одной строчки не страшно, а для ста — катастрофа.

Решение очевидно: сохранить код в файл. Такой файл с кодом называется скрипт. В этом уроке мы создадим свой первый скрипт hello.py и запустим его. Это ровно то, как пишут настоящие программы.

Два способа запускать код

Итак, у нас есть два разных способа давать Python инструкции. Давай разложим их рядом.

REPL (интерактивный режим) — ты пишешь по одной строчке, Python отвечает сразу. Удобно попробовать что-то на ходу, посчитать, проверить идею. Но код нигде не сохраняется.

Скрипт (файл с кодом) — ты заранее пишешь весь код в файл, сохраняешь его, а потом запускаешь целиком одной командой. Код хранится на диске, его можно запускать сколько угодно раз, редактировать, отправлять другим людям.

REPL против скрипта

Один режим для быстрых проб, другой — для настоящих программ.

REPLИнтерактивный режим, который мы запускали командой python3
ОтветPython отвечает сразу после каждой строки
ХранениеНичего не сохраняется, после закрытия терминала всё пропадает
ЗачемБыстро проверить идею, посчитать, поэкспериментировать
СкриптФайл с кодом, например hello.py
ОтветСначала пишешь и сохраняешь весь файл, потом запускаешь целиком
ХранениеКод лежит в файле на диске, никуда не исчезает
ЗачемНастоящие программы, которые можно запускать снова и снова

Хорошая новость: сам код внутри одинаковый. Команда 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
WARNING

Только для Windows: наш учебный терминал — это окно WSL2/Ubuntu из модуля 02, а НЕ синее окно PowerShell. В PowerShell своя команда создания файла (New-Item) и там потом не сработает наша команда запуска python3 hello.py. Чтобы не путаться, держи открытым именно окно Ubuntu и набирай все команды курса в нём.

NOTE

Помни про текущую папку из модуля 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 выполнил все три команды по очереди, сверху вниз, и вывел всё сразу. Это и есть программа: набор инструкций в файле, которые выполняются по порядку.

WARNING

Помни различие из прошлого урока: в файле-скрипте результат сам по себе не показывается. Если ты напишешь в файле просто строку 2 + 2 без print и запустишь, на экране НИЧЕГО не появится. Python посчитает 2 + 2, получит 4 и молча выкинет результат, потому что ты не попросил его показать. Чтобы увидеть число в скрипте, оберни его в print: напиши print(2 + 2). В REPL так не нужно, а в файле — обязательно.

Когда что использовать

Простое правило на будущее. REPL — для быстрых проб: посчитать, проверить, как работает одна команда, поиграться. Скрипт — для всего, что ты хочешь сохранить и запускать не один раз: твоя настоящая программа. По мере учёбы ты будешь постоянно пользоваться обоими: что-то быстро пробовать в REPL, а готовое складывать в файлы.

Попробуй сам

  1. Создай файл about_me.py командой touch about_me.py (на Windows — в том же окне WSL2/Ubuntu, команда та же). Открой его в редакторе и напиши три строки про себя:
print("Меня зовут Аня")
print("Я учусь программировать")
print("Мой любимый цвет синий")

Сохрани и запусти командой:

python3 about_me.py

Ожидаемый вывод:

Меня зовут Аня
Я учусь программировать
Мой любимый цвет синий
  1. Добавь в самый конец файла строку с примером: print(2 + 2). Сохрани, запусти и убедись, что внизу появилось число 4. Потом убери print вокруг — оставь просто 2 + 2 — снова запусти и убедись, что число 4 теперь НЕ появляется. Так ты прочувствуешь, чем файл-скрипт отличается от REPL.

В следующем уроке разберёмся, в чём редакторы вроде Блокнота уступают серьёзным инструментам, и поставим VS Code — программу, в которой удобно писать код.

Проверка знанийKnowledge check
Чем запуск скрипта python3 hello.py отличается от работы в REPL, и почему в файле без print результат не виден?
ОтветAnswer
В REPL ты пишешь по одной строке и Python отвечает сразу после каждой; код нигде не сохраняется. Скрипт — это файл с кодом (например hello.py), куда ты заранее пишешь весь код и сохраняешь на диск, а потом запускаешь целиком командой python3 hello.py. Python читает файл сверху вниз и выполняет все инструкции по порядку. Главное отличие: в файле-скрипте результат выражения сам по себе на экран не выводится. Если написать просто 2 + 2 без print, Python посчитает результат и молча его выкинет, ничего не показав. Чтобы увидеть значение в скрипте, его нужно обернуть в print, например print(2 + 2). В REPL это не требуется, потому что там Python услужливо показывает результат каждой строки.

Проверьте понимание

Результат: 0 из 0
Концептуальный
Вопрос 1 из 3. В чём, по уроку, ключевое преимущество скрипта (файла с кодом) перед работой в REPL?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 4