Первая программа на Python: от print до чтения файла
За полчаса вы напишете первый скрипт на Python 3.12, научитесь выводить текст, спрашивать данные у пользователя и читать файл построчно. Только то, что запускается сразу.

К концу этого гайда у вас будет рабочий скрипт на Python 3.12, который выводит текст, спрашивает имя, считает что-то в цикле и читает файл с диска. Займёт это 20–30 минут, если Python уже установлен, и минут сорок, если нет. Ничего кроме встроенных возможностей языка не понадобится — ни библиотек, ни виртуального окружения.
Что нужно до начала
Проверьте три вещи, чтобы не застрять на середине.
- Установленный Python 3.10 или новее. Откройте терминал (в Windows — «Командная строка» или PowerShell, в macOS/Linux — «Терминал») и введите
python --version. Должна появиться строка видаPython 3.12.4. Если команда не найдена, попробуйтеpython3 --version. Если и это не работает — скачайте установщик с python.org/downloads и при установке в Windows поставьте галочку Add Python to PATH. - Любой текстовый редактор. Подойдёт VS Code, Notepad++ или встроенный «Блокнот». Word и подобные редакторы не годятся — они добавляют невидимое форматирование.
- Папка для файлов. Создайте где-нибудь папку, например
python-start, чтобы всё лежало в одном месте.
Дальше все команды в терминале запускаются из этой папки. Перейти в неё можно командой cd путь/к/python-start.
Шаг 1. Первый вывод
Создайте в папке файл hello.py и впишите одну строку:
print("Привет, Python")
Сохраните файл. В терминале, находясь в той же папке, запустите:
python hello.py
В терминале должна появиться строка Привет, Python. Если вместо этого вы видите python: can't open file — значит, терминал открыт не в той папке, где лежит файл. Функция print просто выводит то, что вы передали в скобках, и переносит строку.
Шаг 2. Переменные и данные от пользователя
Программа станет полезнее, если научится спрашивать. Функция input показывает подсказку и ждёт, пока пользователь введёт текст и нажмёт Enter. Результат — всегда строка.
# спрашиваем имя и сохраняем ответ в переменную
imya = input("Как вас зовут? ")
# f-строка подставляет значение переменной прямо в текст
print(f"Здравствуйте, {imya}")
Запустите. Скрипт остановится на вопросе — введите имя и нажмите Enter. Должна появиться строка приветствия с вашим именем. Буква f перед кавычками включает подстановку: всё, что в фигурных скобках, вычисляется и вставляется в строку.
Строка — это не число
Частая ловушка первого дня. Если спросить у пользователя число и попытаться его сложить, результат удивит:
a = input("Первое число: ") # это строка "2"
b = input("Второе число: ") # это строка "3"
print(a + b) # выведет 23, а не 5
Строки при сложении просто склеиваются. Чтобы работать с числами, преобразуйте ввод функцией int (целое) или float (дробное):
a = int(input("Первое число: "))
b = int(input("Второе число: "))
print(a + b) # теперь 5
Шаг 3. Условие и цикл
Соберём маленькую логику: спросим возраст и по-разному ответим.
vozrast = int(input("Сколько вам лет? "))
if vozrast >= 18:
print("Доступ разрешён")
else:
print("Слишком рано")
Обратите внимание на отступ в четыре пробела перед print. В Python отступы — это не украшение, а синтаксис: именно они показывают, что строка относится к условию. Смешивать пробелы и табуляцию нельзя, иначе получите ошибку IndentationError.
Теперь цикл — повторить действие несколько раз:
# range(1, 6) даёт числа от 1 до 5 включительно
for nomer in range(1, 6):
print(f"Строка номер {nomer}")
Запустите — в терминале появятся пять пронумерованных строк. Функция range(1, 6) не включает верхнюю границу, поэтому последнее число — 5, а не 6.
Шаг 4. Чтение файла
Это то, ради чего многие и берутся за первый скрипт. Создайте рядом с кодом текстовый файл spisok.txt и впишите в него несколько строк, например:
молоко
хлеб
яйца
Теперь прочитаем его и выведем каждую строку с номером:
# with сам закроет файл, когда блок закончится
# encoding="utf-8" нужен, чтобы кириллица читалась верно
with open("spisok.txt", encoding="utf-8") as f:
for nomer, stroka in enumerate(f, start=1):
# strip() убирает лишний перенос строки в конце
print(f"{nomer}. {stroka.strip()}")
Запустите. В терминале должно появиться:
1. молоко
2. хлеб
3. яйца
Конструкция with open(...) открывает файл и гарантированно закрывает его после чтения, даже если внутри случится ошибка. Это правильный способ работы с файлами в Python — не вызывайте open без with, пока не разберётесь, зачем.
Отступ в Python — это синтаксис, а не оформление. Строка с неправильным отступом не «выглядит криво», она не запускается вообще.
Если не получилось
Ошибки на первом дне почти всегда одни и те же. Найдите свою по тексту в терминале.
- SyntaxError: invalid syntax — чаще всего забытая кавычка или скобка. Проверьте, что каждая открывающая скобка и кавычка закрыта.
- IndentationError: expected an indented block — после
if,forилиelseследующая строка должна иметь отступ. Поставьте четыре пробела. - NameError: name '...' is not defined — вы обратились к переменной, которую не создали, или опечатались в имени. Python различает регистр:
Imyaиimya— разные имена. - FileNotFoundError — файл
spisok.txtлежит не там, где запущен скрипт, или назван иначе. Убедитесь, что файл в той же папке, и проверьте расширение: в Windows «Блокнот» может сохранить его какspisok.txt.txt. - UnicodeDecodeError — кириллица в файле, а
encoding="utf-8"вы не указали. Добавьте его вopen.
Что дальше
Вы прошли весь путь от вывода до чтения файла — этого достаточно, чтобы автоматизировать простые задачи вроде разбора списка или подсчёта строк. Следующий разумный шаг — научиться записывать данные в файл (тот же open, но с режимом "w") и разбить код на функции через def, чтобы не копировать одинаковые куски. После этого стоит завести виртуальное окружение и поставить первую внешнюю библиотеку через pip — это открывает доступ к тысячам готовых инструментов. Официальный учебник на docs.python.org/3/tutorial идёт ровно в этом порядке.
Транскрибатор встреч: Запись созвона или диктофона — в текст с разделением по спикерам, протоколом и списком задач.
Спросить за 25 ₽Источники: The Python Tutorial — docs.python.org, Python Downloads — python.org
Частые вопросы
У меня Python 3.9, а не 3.12 — код сработает?
Почему python --version не находит команду, хотя я установил Python?
Запускаю python hello.py, а пишет can't open file — что не так?
Ввожу два числа, а вместо суммы получаю их подряд — почему?
Кириллица в файле читается кракозябрами. Как исправить?
Нужно ли ставить виртуальное окружение для первого скрипта?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.