Як Python виконує код: інтерпретатор, REPL та IDLE
Комп’ютер розуміє лише машинні інструкції, а ми пишемо текст. Розбираємося, хто і коли перекладає одне в інше, чим компільовані мови відрізняються від інтерпретованих, де в цій картині Python — і як встановити його, перевірити й запустити першу програму.

Компілятор і інтерпретатор: два способи перекладу
Процесор виконує лише машинний код — числові інструкції, специфічні для його архітектури. Щоб текст програми став таким кодом, його треба перекласти. Є два принципові підходи.
| Компіляція | Інтерпретація | |
|---|---|---|
| Коли перекладається | Уся програма — до запуску | Під час виконання, частинами |
| Що отримуємо | Окремий виконуваний файл (у Windows — .exe) | Виконуваного файлу немає: потрібна програма-інтерпретатор |
| Помилки | Багато знаходить компілятор ще до запуску | Частина проявляється, лише коли виконання дійде до рядка |
| Приклади мов | C, C++, Rust, Go | Python, PHP, Ruby |
Аналогія: компіляція — це письмовий переклад книжки, який видають окремим томом; інтерпретація — синхронний перекладач, що переказує промову речення за реченням. Перекладену книжку читають уже без перекладача, а промову без нього не зрозуміти.
Що робить Python насправді
Python називають інтерпретованою мовою, і для практики це правильно: окремого .exe немає, код запускає інтерпретатор. Але стандартна реалізація — CPython, яку ви завантажуєте з python.org, — працює у два етапи:
- Компіляція в байткод. Інтерпретатор читає весь файл, перевіряє синтаксис і перекладає текст у байткод — компактні інструкції не для процесора, а для віртуальної машини Python.
- Виконання. Віртуальна машина виконує байткод інструкцію за інструкцією.
Байткод можна побачити — модуль dis розбирає вираз на інструкції:
>>> import dis
>>> dis.dis("c = a + b * 2")
LOAD_NAME 0 (a)
LOAD_NAME 1 (b)
LOAD_SMALL_INT 2
BINARY_OP 5 (*)
BINARY_OP 0 (+)
STORE_NAME 2 (c)Видно навіть пріоритет операцій: множення виконується раніше за додавання. Точний вигляд виводу залежить від версії (вище — Python 3.14, скорочено).
З цієї схеми випливає практичний наслідок, який корисно знати з першого дня:
- Синтаксичну помилку (
SyntaxError,IndentationError) Python знаходить ще на етапі компіляції. Тому програма з такою помилкою в останньому рядку не виконає навіть першого. - Помилку виконання — ділення на нуль, корінь із від’ємного числа — Python виявляє лише тоді, коли доходить до цього рядка. Усе, що стояло вище, встигає виконатися.
Щоб не компілювати імпортовані модулі щоразу заново, Python зберігає їхній байткод у теці __pycache__ — у файлах із розширенням .pyc.
Встановлення: Python 3.12 або новіший
- Завантажте інсталятор з офіційного сайту python.org/downloads. Беріть Python 3.12 або новішу версію; на момент написання актуальна гілка — 3.14.
- Windows: у класичному інсталяторі в першому ж вікні поставте галочку Add python.exe to PATH. Без неї термінал не знайде команду
python. - macOS: встановіть пакет із того самого сайту; у терміналі команда називається
python3. - Linux: Python 3 зазвичай уже є — перевірте командою
python3 --version. IDLE, якщо його немає, ставиться окремим пакетом (у Debian і Ubuntu —idle3).
Перевірка: відкрийте термінал (у Windows — PowerShell або «Командний рядок») і введіть:
python --versionУ відповідь з’явиться номер версії, наприклад Python 3.14.4. Якщо у Windows замість цього відкривається Microsoft Store — спробуйте py --version (лаунчер Python для Windows) або вимкніть у налаштуваннях Windows «псевдоніми виконання» для python.exe.
python --version — двома звичайними дефісами. Word і месенджери автоматично перетворюють їх на тире «–», і скопійована звідти команда не спрацює: Python сприйме «–version» як ім’я файлу, який треба запустити.Інтерактивний режим: REPL
Якщо запустити python без аргументів, відкриється інтерактивний режим — REPL (Read–Eval–Print Loop: прочитати, обчислити, вивести, повторити). Запрошення >>> означає, що Python чекає на команду. Введіть вираз, натисніть Enter — і одразу побачите результат:
>>> 2 + 3 * 4
14
>>> 10 / 4
2.5
>>> 7 > 5
True
>>> "Мережеві" + " технології"
'Мережеві технології'У REPL значення виразу друкується автоматично — print не потрібен. У програмі з файлу це не так: без print обчислене значення на екрані не з’явиться.
Коли команда займає кілька рядків (після if чи for), запрошення змінюється на ..., а порожній рядок завершує блок. Вийти з REPL можна командою exit() або клавішами Ctrl+Z, Enter у Windows (Ctrl+D у macOS і Linux).
«Дзен Python» і документація
Ідеологія мови схована прямо в інтерпретаторі. Введіть у REPL:
>>> import thisPython виведе «The Zen of Python» — 19 коротких принципів Тіма Пітерса. Кілька з них пояснюють, чому код на Python виглядає саме так: Beautiful is better than ugly (красиве краще за потворне), Simple is better than complex (просте краще за складне) і Readability counts (читабельність має значення).
Звідси ж обов’язкові відступи: мова змушує оформлювати код однаково, тож чужу програму читати майже так само легко, як свою.
Першоджерело з будь-якого питання — офіційна документація docs.python.org/3. Для початку корисні розділи Tutorial (підручник) і Library Reference (опис стандартних модулів, зокрема math).
Перша програма в IDLE
REPL зручний для експериментів, але все, що в ньому набрано, зникає після закриття. Програму зберігають у файл із розширенням .py, а найпростіше середовище для цього встановлюється разом із Python — IDLE.
- Запустіть IDLE (у Windows — пошук «IDLE» у меню «Пуск»). Відкриється вікно Python Shell — той самий REPL.
- Створіть файл: меню File → New File (Ctrl+N). Відкриється порожній редактор.
- Наберіть програму і збережіть: File → Save (Ctrl+S), наприклад як
lab1.py. - Запустіть: Run → Run Module або F5. Результат з’явиться у вікні Shell.
a = int(input("Enter num1 -> "))
b = int(input("Enter num2 -> "))
s = a + b
d = a - b
m = a * b
v = a / b
print(s, d, m, v, sep="; ")Запуск із числами 7 і 2 дасть:
Enter num1 -> 7
Enter num2 -> 2
9; 5; 14; 3.5Рядки виконуються зверху вниз — як у лінійному алгоритмі з першого уроку. Що саме робить кожен рядок (навіщо int(input(...)), звідки 3.5 і що таке sep), розбираємо в наступному уроці.
python lab1.py або відкрити у VS Code чи PyCharm. Для першої лабораторної IDLE цілком достатньо: у нього немає зайвих налаштувань.Міні-курс Python з нуля
Усі матеріали курсу по порядку. Програма, завдання лабораторної та інформація про авторку — на головній сторінці курсу.
- Урок 1 · 9 хвАлгоритм і блок-схемиВластивості алгоритму, способи запису, базові блоки й три структури — лінійна, розгалужена, циклічна — з кодом Python.
- Урок 2 · 8 хв · ви тутЯк Python виконує кодКомпілятор проти інтерпретатора, байткод, встановлення Python 3.12+, REPL, «Дзен Python» і перша програма в IDLE.
- Урок 3 · 9 хвPython як калькуляторСім арифметичних операторів і пріоритети, модуль math, змінні, типи даних і перетворення введення.
- Практика · 10 хвЛабораторна робота №1 покроковоОбидва завдання на прикладах, переклад формул у Python, перевірка ОДЗ, чекліст звіту й контрольні запитання.
Перевір себе
Інтерпретована: окремий виконуваний файл не створюється, код виконує інтерпретатор. Усередині CPython спершу компілює текст у байткод, а потім віртуальна машина виконує його інструкцію за інструкцією.
Найчастіше під час встановлення у Windows не поставили галочку «Add python.exe to PATH». Спробуйте команду py –version або перевстановіть Python з цією галочкою.
REPL виконує команду одразу й сам друкує значення виразу, але нічого не зберігає. Програма у файлі .py запускається повторно й виводить лише те, що передано в print.
«Дзен Python» — 19 принципів, які описують філософію мови: простота, читабельність, явність.
Далі: Python як калькулятор
Оператори, модуль math і змінні — усе, що знадобиться для обчислень у лабораторній. Перейти до уроку 3