От установки до первой программы, которая разговаривает с пользователем
print и получать их через inputPython — язык программирования общего назначения. Программа на нём — обычный текстовый файл с расширением .py. Выполняет её интерпретатор — программа python3, которая читает текст и сразу исполняет команды. Отдельного шага компиляции, как в C или C++, нет: написали — запустили.
| Где применяют | Пример задачи |
|---|---|
| Автоматизация и администрирование | Разобрать журнал сервера, переименовать тысячу файлов, выгрузить отчёт |
| Веб-разработка | Серверная часть сайта на Django или FastAPI |
| Анализ данных | Посчитать статистику продаж из таблицы, построить график |
| Тестирование | Автотесты API и веб-интерфейса (курс «Основы тестирования ПО») |
| Машинное обучение | Обучение и запуск моделей: библиотеки для этого пишутся прежде всего под Python |
У Python простой синтаксис: блоки кода выделяются отступами, а не скобками, нет объявления типов переменных. Поэтому его выбирают первым языком. Обратная сторона — Python медленнее C в десятки раз на вычислениях в цикле; для большинства задач автоматизации это не важно, потому что программа больше ждёт диск и сеть, чем считает.
Debian и Ubuntu. Python 3 уже установлен: на нём написаны системные утилиты. Проверьте версию и доставьте модули, которые понадобятся в модуле 08:
$ python3 --version
Python 3.13.5
$ sudo apt install python3 python3-venv python3-pip
Команда называется именно python3. Команды python в Debian по умолчанию нет — так система защищает старые скрипты, написанные для Python 2.
Windows. Скачайте Python с python.org. Начиная с версии 3.14 там предлагается Python install manager — он сам настраивает команды py и python. Если ставите классическим установщиком, в первом окне отметьте Add python.exe to PATH — без этого терминал не найдёт интерпретатор. После установки проверьте в PowerShell (версия будет той, что вы поставили):
PS> py --version
Python 3.13.5
PS> python --version
Python 3.13.5
py — программа запуска, которая ставится вместе с Python в Windows и выбирает нужную версию, если их несколько. Дальше в курсе команды записаны для Linux: python3 файл.py. В Windows вместо python3 пишите py или python.
python открывает Microsoft Store, значит, Python не добавлен в PATH, а срабатывает заглушка Windows. Переустановите Python с отметкой Add python.exe to PATH или отключите заглушку: Параметры → Приложения → Дополнительные параметры приложений → Псевдонимы выполнения приложений.Команда python3 без аргументов запускает интерактивный режим (его называют REPL — «прочитать, выполнить, напечатать, повторить»). Приглашение >>> ждёт команду; результат выражения печатается сразу:
>>> 2 + 2
4
>>> 7 / 2
3.5
>>> 2 ** 100
1267650600228229401496703205376
>>> "Привет" * 3
'ПриветПриветПривет'
>>> print("Привет, мир!")
Привет, мир!
>>> (15 + 25) * 2
80
Несколько наблюдений по этому сеансу. Деление / всегда даёт дробное число: 7 / 2 — это 3.5, а не 3. Целые числа в Python не ограничены по размеру: 2 ** 100 (два в сотой степени) считается точно. Строку можно умножить на число — она повторится. Строка в ответе показана в кавычках: интерактивный режим показывает значение так, как его записали бы в коде, а print — так, как его увидит пользователь.
Выход — exit() или Ctrl+D (в Windows Ctrl+Z, затем Enter). Интерактивный режим — для проверки идеи в одну-две строки: что вернёт функция, как работает операция. Всё, что больше, пишется в файл.
Программу пишут в редакторе кода. Подойдёт любой, который сохраняет простой текст в UTF-8:
idle3.Создайте каталог для курса, в нём файл hello.py:
print("Привет, мир!")
print("Это моя первая программа на Python.")
Запуск — из терминала, в каталоге с файлом:
$ python3 hello.py
Привет, мир!
Это моя первая программа на Python.
Интерпретатор выполняет строки сверху вниз, по одной. Дошёл до конца файла — программа завершилась. В VS Code то же самое делает кнопка ▷ «Run Python File» в правом верхнем углу: она открывает терминал и вводит ту же команду.
Программа может считать, а не только печатать текст. Сколько секунд в сутках, неделе и году:
# Сколько секунд в сутках, в неделе и в году
day = 24 * 60 * 60
print("В сутках секунд:", day)
print("В неделе секунд:", day * 7)
print("В году (365 дней):", day * 365)
$ python3 seconds.py
В сутках секунд: 86400
В неделе секунд: 604800
В году (365 дней): 31536000
Строка, которая начинается с #, — комментарий: интерпретатор её пропускает. Комментарии пишут для человека: что делает программа и почему так, если это неочевидно.
print — функция: имя, за которым в скобках идут аргументы через запятую. Она выводит аргументы через пробел и переходит на новую строку. Два именованных аргумента меняют это поведение: sep — чем разделять, end — чем закончить.
>>> print("Иван", "Петров", 19)
Иван Петров 19
>>> print("2026", "10", "15", sep="-")
2026-10-15
>>> print("Загрузка", end="... ")
Загрузка... >>> print("готово")
готово
>>> print()
>>> print("Первая строка\nВторая строка")
Первая строка
Вторая строка
end="... " оставил курсор на той же строке — следующий вывод продолжил её (в интерактивном режиме туда же встало и приглашение >>>). print() без аргументов выводит пустую строку. \n внутри строки — символ перевода строки.
input("подсказка") выводит подсказку, ждёт, пока пользователь наберёт строку и нажмёт Enter, и возвращает набранное. Чтобы значение не пропало, его сохраняют в переменную — имя, за которым закрепляется значение:
# Программа спрашивает имя и здоровается
name = input("Как вас зовут? ")
print("Здравствуйте,", name)
print("Длина вашего имени:", len(name), "букв")
$ python3 greet.py
Как вас зовут? Мария
Здравствуйте, Мария
Длина вашего имени: 5 букв
name = input(...) читается справа налево: выполнить input, результат назвать name. Дальше name можно использовать сколько угодно раз. len — ещё одна встроенная функция: длина строки в символах; кириллица считается по буквам, а не по байтам.
input всегда возвращает строку, даже если пользователь ввёл цифры. Сложить два введённых числа «в лоб» не получится — "2" + "3" даст "23". Как превращать строку в число — в модуле 02.Ошибки в программе — нормальная часть работы. Важно уметь быстро понять сообщение интерпретатора. Ошибки бывают двух видов.
Синтаксическая ошибка (SyntaxError) — текст не соответствует правилам языка. Интерпретатор находит её до запуска, поэтому не выполняется ни одна строка, даже первая:
print("Начало")
print("Сумма:", 2 + 2
print("Конец")
$ python3 err1.py
File "/home/student/python/err1.py", line 2
print("Сумма:", 2 + 2
^
SyntaxError: '(' was never closed
[код 1]
Сообщение указывает файл, номер строки и место знаком ^: скобка открыта и не закрыта. Иногда интерпретатор замечает ошибку строкой ниже настоящей — если в указанной строке всё верно, посмотрите на предыдущую.
Ошибка выполнения (исключение) — программа синтаксически верна, но во время работы сделала невозможное. Строки до ошибки успели выполниться:
print("Начало")
total = 10
print("Итого:", totl)
print("Конец")
$ python3 err2.py
Начало
Traceback (most recent call last):
File "/home/student/python/err2.py", line 3, in <module>
print("Итого:", totl)
^^^^
NameError: name 'totl' is not defined. Did you mean: 'total'?
[код 1]
Сообщение об исключении называется traceback, его читают снизу вверх. Последняя строка — тип ошибки и пояснение: NameError, имени totl нет, и даже подсказка «может быть, total?». Выше — где это случилось: файл, строка 3 и сама строка. [код 1] — программа завершилась с кодом возврата 1, то есть с ошибкой (здесь и дальше в курсе код показан, когда он не 0).
| Ошибка | Что обычно значит |
|---|---|
SyntaxError | Не закрыта скобка или кавычка, пропущено двоеточие, опечатка в ключевом слове |
IndentationError | Лишний или недостающий отступ в начале строки |
NameError | Опечатка в имени или переменная используется раньше, чем создана |
TypeError | Операция с неподходящим типом: строка плюс число |
ValueError | Тип подходит, значение нет: int("двадцать") |
ZeroDivisionError | Деление на ноль |
Отступ в Python — часть синтаксиса: он показывает, к какому блоку относится строка. Лишний пробел в начале строки — уже ошибка:
print("Начало")
print("С отступом")
$ python3 err3.py
File "/home/student/python/err3.py", line 2
print("С отступом")
IndentationError: unexpected indent
[код 1]
У Python есть общепринятое руководство по стилю — PEP 8. Код, написанный по нему, одинаково читается в любой команде. Главное на старте:
= и арифметических операций: total = price * count; после запятой — пробел.total_price, а не TotalPrice и не сумма.Кириллицу в именах Python допускает, но так не пишут: код читают и правят люди с разными раскладками, а библиотеки и примеры в документации — на английском. Кириллица уместна в строках и комментариях.
.py; запуск — python3 файл.py (в Windows — py файл.py)>>> — для проверки одной-двух строк, программы пишутся в файлах/ всегда даёт дробное число, целые числа не ограничены по размеруprint выводит, input возвращает введённую строку — всегда строку