Learning Platform
Урок 02.01 · 14 мин
Начальный
printVariablesNumbersArithmeticREPL

Зачем этот урок

Вы прошли Ступень 0 и вводный модуль: умеете работать в терминале, а в уроке про окружение один раз настроили uv и собрали первый проект через uv init / uv run. Хватит готовиться — пора писать код. В этом уроке вы напишете и запустите свою первую настоящую программу. Не «Hello World ради галочки», а программу, которая что-то считает и показывает результат. Сейчас мы намеренно работаем «голым» python3, чтобы сосредоточиться на самом языке; во весь рост uv и ruff разберём дальше, в модуле 2. Цель прямо сейчас проще и важнее: получить первый успех прямо в терминале.

Нам понадобится только то, что уже установлено: команда python3.

Два способа запустить Python

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

Способ 1 — REPL (интерактивный режим). Это режим «вопрос-ответ»: вы пишете строку, жмёте Enter, Python сразу отвечает. Идеально, чтобы что-то быстро проверить. Откройте терминал и наберите:

python3

Вы увидите приглашение из трёх символов >>>. Это значит, что Python ждёт ваш ввод:

>>> 2 + 2
4
>>> print("привет")
привет

Обратите внимание: в REPL необязательно писать print, чтобы увидеть результат. Просто наберите 2 + 2 — и Python покажет 4. Это удобно для экспериментов. Чтобы выйти из REPL, наберите exit() и нажмите Enter (или нажмите Ctrl+D).

Способ 2 — запуск файла. Когда код больше пары строк или его надо сохранить, мы кладём его в файл с расширением .py и запускаем целиком. Это основной способ для настоящих программ. К нему мы вернёмся в третьем уроке этого модуля.

TIP

Символы >>> — это подсказка самого Python, вы их НЕ печатаете. Когда видите >>> в примерах ниже, значит дело происходит в REPL, и набирать нужно только то, что идёт после стрелок.

Переменные — это просто имена

Переменная в Python — это имя, которое вы даёте какому-то значению, чтобы потом к нему обращаться. Создаётся переменная знаком = (читается «присвоить»):

>>> age = 25
>>> age
25

Слева от = — имя (age), справа — значение (25). Теперь, где бы вы ни написали age, Python подставит туда 25. Имя можно переиспользовать и менять:

>>> age = 25
>>> age = age + 1
>>> age
26

Строка age = age + 1 читается так: «возьми текущее значение age (25), прибавь 1, и запиши результат обратно в age». Получилось 26.

Имена выбираете вы сами, но есть простые правила: только латинские буквы, цифры и знак подчёркивания _, и начинать с цифры нельзя. Хорошее имя говорит, что внутри: price, user_count, total — понятно сразу. Имена x, a, tmp лучше оставить для совсем коротких черновиков. В Python принято разделять слова в имени подчёркиванием — user_count, а не userCount или usercount; это называется snake_case и встречается в любом Python-коде, который вы откроете.

Зачем вообще переменные, если можно просто писать числа? Затем, что переменная даёт значению имя и смысл. Сравните 300 и total — второе читается без догадок. И если значение нужно в нескольких местах, его достаточно поменять в одном: исправили price, и все вычисления, где оно участвует, пересчитаются заново при следующем запуске. Это основа любой программы — мы храним данные под понятными именами и работаем с именами, а не с «голыми» числами, разбросанными по коду.

>>> price = 100
>>> quantity = 3
>>> total = price * quantity
>>> total
300

Числа и арифметика

С числами Python работает как обычный калькулятор. Сложение, вычитание, умножение, деление:

>>> 10 + 3
13
>>> 10 - 3
7
>>> 10 * 3
30
>>> 10 / 3
3.3333333333333335

Заметьте: 10 / 3 дало дробь, а не «3 с остатком». Деление / в Python всегда возвращает дробное число (тип float), даже когда делится ровно:

>>> 6 / 2
3.0

Если вам нужно именно целочисленное деление (сколько целых раз одно входит в другое) — используйте двойной слэш //, а остаток от деления даёт знак процента %:

>>> 10 // 3
3
>>> 10 % 3
1

Здесь 10 // 3 — это «сколько целых троек в десяти» (три), а 10 % 3 — «что осталось» (один). Эта пара очень пригодится позже: например, чётность числа проверяют как n % 2.

Возведение в степень — двойная звёздочка **:

>>> 2 ** 10
1024

Скобки работают как в математике и задают порядок действий:

>>> 2 + 3 * 4
14
>>> (2 + 3) * 4
20

В REPL результат печатается сам, но в файле-программе это не так: программа выполнит вычисления молча, и если вы хотите что-то увидеть, нужно явно попросить вывод через print(). Внутри скобок указываете, что показать:

>>> print(42)
42
>>> total = 300
>>> print(total)
300

print умеет выводить несколько значений сразу — перечислите их через запятую, и между ними автоматически встанет пробел:

>>> price = 100
>>> quantity = 3
>>> print("Итого:", price * quantity, "рублей")
Итого: 300 рублей

Текст в кавычках ("Итого:", "рублей") Python печатает буквально, а price * quantity сначала вычисляет, потом выводит результат. Кавычки можно использовать как двойные, так и одинарные — для Python разницы нет, главное чтобы открывающая и закрывающая совпадали.

Не бойтесь ошибок

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

>>> totl
NameError: name 'totl' is not defined

Python прямо говорит: имя totl не определено — скорее всего опечатка в total. Сообщения об ошибках в Python довольно понятные, и читать их — навык, который экономит часы. Не пугайтесь красного текста: это не «программа сломалась навсегда», а подсказка, что именно поправить. В REPL вы просто набираете строку заново — ничего страшного не произошло.

Попробуй сам

Откройте REPL командой python3 и пройдите по шагам. Сначала предсказывайте результат вслух, потом проверяйте — так вы реально учитесь, а не просто читаете.

>>> hours = 8
>>> rate = 500
>>> pay = hours * rate
>>> print("Заработок за день:", pay)
Заработок за день: 4000
>>> days = 5
>>> print("За неделю:", pay * days)
За неделю: 20000

А теперь — три выражения, где результат может удивить. Наберите каждое и объясните себе, почему так:

>>> 7 / 2
>>> 7 // 2
>>> 7 % 2

Подсказка: первое — обычное деление (дробь), второе — целая часть, третье — остаток. Если все три ответа понятны (3.5, 3, 1) — вы освоили арифметику Python.

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

Проверка знанийKnowledge check
Что выведет код: `print(10 // 3, 10 % 3)`?
ОтветAnswer
Выведет `3 1`. Оператор `//` — целочисленное деление: сколько целых троек помещается в десяти (три). Оператор `%` — остаток от деления: что осталось после трёх троек (один). print выводит оба значения через пробел.

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

Результат: 0 из 0
Концептуальный
Вопрос 1 из 3. Вы открыли Python командой python3 и видите приглашение >>>. Что это означает?

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

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

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

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