Skip to content

2. (Л) Огляд інструментів програмування (Python, VS Code, онлайн інтерпретатори)

Зміст лекції

  1. Що потрібно для написання програм
  2. Встановлення Python
  3. Інтерактивний режим (REPL)
  4. Запуск програм із файлу
  5. Редактор коду та IDE
  6. Visual Studio Code
  7. Налагодження (debugging) у VS Code
  8. Neovim — альтернатива для терміналу
  9. Онлайн-інтерпретатори Python
  10. Що використовувати і коли

Що потрібно для написання програм

Мінімальний набір інструментів програміста складається з трьох частин:

graph LR
    ED["Редактор коду<br/>VS Code"] --> FILE["Файл program.py"]
    FILE --> PY["Інтерпретатор Python"]
    PY --> OUT["Результат у терміналі"]

    style ED fill:#339af0,stroke:#333,color:#fff
    style PY fill:#ffd43b,stroke:#333,color:#000
    style OUT fill:#51cf66,stroke:#333,color:#000
Інструмент Призначення
Інтерпретатор Python Виконує вашу програму. Без нього код — просто текст
Редактор коду Місце, де ви пишете програму: підсвічування синтаксису, автодоповнення, підказки
Термінал Запуск програм, встановлення пакетів, робота з системою

Файл із програмою на Python — це звичайний текстовий файл з розширенням .py. Його можна створити навіть у «Блокноті», просто працювати буде значно незручніше.

Встановлення Python

Linux

У більшості дистрибутивів Python 3 уже встановлений. Перевірте:

python3 --version

Якщо потрібно встановити (Debian / Ubuntu):

sudo apt update
sudo apt install python3 python3-pip python3-venv

macOS

Системний Python може бути застарілим, тому встановлюють свіжу версію через Homebrew:

brew install python3

Альтернатива — завантажити інсталятор з python.org/downloads.

Перевірка встановлення

python3 --version

Виведення має бути приблизно таким:

Python 3.13.2

python чи python3?

У багатьох системах команда python або відсутня, або вказує на давно застарілий Python 2. Завжди використовуйте python3 — тоді ви точно запускаєте третю версію.

Інтерактивний режим (REPL)

Запустіть Python без аргументів:

python3

Ви потрапите в REPL (Read — Eval — Print — Loop): інтерпретатор читає рядок, обчислює його, друкує результат і чекає наступного.

Python 3.13.2 (main, Feb  5 2025, 08:05:21)
Type "help", "copyright", "credits" or "license" for more information.
>>> 2 + 2
4
>>> 10 / 4
2.5
>>> name = "Alice"
>>> len(name)
5
>>> print("Hello,", name)
Hello, Alice
>>>

Вийти з REPL: команда exit() або комбінація Ctrl+D.

Для чого REPL

REPL — це «чернетка» програміста. Швидко перевірити, що робить незнайома функція, порахувати вираз, подивитися тип значення. Але повноцінні програми в REPL не пишуть: після виходу все написане зникає.

Запуск програм із файлу

Створіть файл hello.py:

print("Hello, world!")
print("2 + 2 =", 2 + 2)

Запустіть його з того каталогу, де він лежить:

python3 hello.py
Hello, world!
2 + 2 = 4

Найпоширеніша помилка початківця

python3: can't open file 'hello.py': [Errno 2] No such file or directory
Це означає, що ви запускаєте команду не з того каталогу, де лежить файл. Перевірте поточний каталог командою pwd, перегляньте його вміст командою ls і перейдіть куди треба за допомогою cd.

Мінімум команд терміналу

Команда Дія
pwd Показати поточний каталог
ls Перелічити файли в каталозі
cd my_folder Перейти в каталог my_folder
cd .. Піднятися на рівень вище
mkdir my_folder Створити каталог
python3 file.py Запустити програму

Буферизація виводу print()

print() не пише текст на екран напряму. Він складає його в буфер — ділянку пам'яті, — а система виводить вміст буфера пізніше, коли той заповниться або надійде команда «скинути» (flush). Робиться це заради швидкості: одна операція запису на 8 кілобайт значно дешевша за тисячу дрібних.

Через це вивід іноді з'являється не тоді, коли ви його очікуєте.

Створіть файл buffering.py:

import time

# Each iteration prints a dot without a newline
for i in range(5):
    print(".", end="")
    time.sleep(1)

print()
print("done")

Запустіть:

python3 buffering.py

Ви очікуєте, що крапки з'являтимуться щосекунди. Насправді екран п'ять секунд порожній, а потім усі крапки виводяться разом. Причина: у терміналі буфер скидається на кожному символі нового рядка, а end="" цей символ прибирає.

Як скинути буфер вручну

Параметр flush=True змушує print() вивести текст негайно:

import time

for i in range(5):
    print(".", end="", flush=True)
    time.sleep(1)

print()
print("done")

Тепер крапки з'являються по одній щосекунди.

Той самий ефект для всієї програми дає ключ -u (unbuffered):

python3 -u buffering.py

Редактор коду та IDE

Редактор коду — текстовий редактор із підтримкою мов програмування: підсвічування синтаксису, автодоповнення, пошук по проєкту.

IDE (Integrated Development Environment) — інтегроване середовище розробки: редактор плюс налагоджувач, система збірки, керування залежностями, інтеграція з git тощо.

Інструмент Тип Особливості
VS Code Редактор із розширеннями Безкоштовний, легкий, розширення перетворюють його на IDE
PyCharm IDE Потужний, але важчий; Community-версія безкоштовна
Vim / Neovim Текстовий Редактор Дуже швидкий, високий поріг входу
Блокнот / gedit Текстовий редактор Працює, але без жодної допомоги програмісту

У цьому курсі ми використовуємо VS Code — він безкоштовний, кросплатформний і його достатньо для всіх завдань семестру.

Visual Studio Code

Встановлення

Завантажте з code.visualstudio.com або встановіть із пакетного менеджера:

# Debian / Ubuntu (після додавання репозиторію Microsoft)
sudo apt install code

# Arch Linux (AUR)
yay -S visual-studio-code-bin

# macOS
brew install --cask visual-studio-code

Розширення Python

Одразу після встановлення відкрийте панель розширень (Ctrl+Shift+X) і встановіть розширення Python від Microsoft. Разом із ним встановиться Pylance.

Що дають ці розширення:

  • підсвічування синтаксису та автодоповнення;
  • підказки про помилки ще до запуску програми;
  • кнопка запуску файлу;
  • вбудований налагоджувач;
  • автоформатування коду.

Вибір інтерпретатора

VS Code має знати, яким саме Python запускати ваш код. Натисніть Ctrl+Shift+P, введіть Python: Select Interpreter і виберіть встановлений Python 3.

Поточний інтерпретатор завжди видно в рядку стану внизу вікна.

Робочий процес

graph TD
    A["Створити каталог проєкту"] --> B["Відкрити його у VS Code<br/>File → Open Folder"]
    B --> C["Створити файл program.py"]
    C --> D["Написати код"]
    D --> E["Запустити: кнопка ▷ або Ctrl+F5"]
    E --> F{"Працює правильно?"}
    F -->|ні| D
    F -->|так| G["Готово"]

    style E fill:#339af0,stroke:#333,color:#fff
    style F fill:#ffd43b,stroke:#333,color:#000
    style G fill:#51cf66,stroke:#333,color:#000

Відкривайте каталог, а не окремий файл

File → Open Folder замість Open File. VS Code вважає відкритий каталог коренем проєкту: від нього рахуються відносні шляхи до файлів, там працює пошук по проєкту та термінал.

Корисні комбінації клавіш

Комбінація Дія
Ctrl+S Зберегти файл
Ctrl+F5 Запустити програму без налагодження
F5 Запустити з налагодженням
F9 Поставити / зняти точку зупинки
Ctrl+` Відкрити / закрити вбудований термінал
Ctrl+Shift+P Палітра команд (доступ до всіх дій)
Ctrl+/ Закоментувати / розкоментувати рядок
Ctrl+Space Викликати автодоповнення
F2 Перейменувати змінну або функцію всюди в проєкті
Shift+Alt+F Відформатувати документ

Вбудований термінал

Ctrl+` відкриває термінал прямо у вікні редактора, причому в каталозі проєкту. Там можна запускати програми вручну:

python3 hello.py

Це те саме, що й окремий термінал, просто зручніше — не треба перемикатися між вікнами.

Налагодження (debugging) у VS Code

Налагоджувач (debugger) дозволяє зупинити програму в потрібному місці та подивитися, які значення насправді мають змінні. Це головний інструмент пошуку помилок — значно ефективніший за розстановку print() по всьому коду.

Точка зупинки (breakpoint) — позначка на рядку коду; дійшовши до неї, програма призупиняється.

Порядок роботи:

  1. Клацніть ліворуч від номера рядка (або натисніть F9) — з'явиться червона крапка.
  2. Запустіть налагодження клавішею F5.
  3. Програма зупиниться на цьому рядку. У панелі Variables зліва видно всі змінні та їхні поточні значення.
  4. Керуйте виконанням кнопками панелі налагодження.
Клавіша Дія
F5 Continue — продовжити до наступної точки зупинки
F10 Step Over — виконати рядок цілком
F11 Step Into — зайти всередину функції
Shift+F11 Step Out — вийти з поточної функції
Shift+F5 Зупинити налагодження

Спробуйте на цій програмі: поставте точку зупинки на рядку з if і подивіться значення a та b перед порівнянням.

# Program: find the largest of two numbers
a = int(input("a = "))
b = int(input("b = "))

if a > b:
    biggest = a
else:
    biggest = b

print("The largest number is", biggest)

Налагоджувач і алгоритм

Покрокове виконання показує реальний шлях програми через блок-схему: які гілки спрацювали, скільки разів виконався цикл. Це найкращий спосіб зрозуміти, чому програма робить не те, що ви очікували.

Neovim — альтернатива для терміналу

Neovim — це сучасна версія редактора Vim, який працює прямо в терміналі. Він швидкий, є майже на кожному сервері й повністю керується з клавіатури. Плата за це — вищий поріг входу: Neovim влаштований інакше, ніж звичні редактори.

Встановлення

# Debian / Ubuntu
sudo apt install neovim

# Fedora
sudo dnf install neovim

# Arch Linux
sudo pacman -S neovim

# macOS
brew install neovim

Перевірка та відкриття файлу:

nvim --version
nvim hello.py

Головна ідея: режими

Neovim — модальний редактор. Одна й та сама клавіша робить різні речі залежно від поточного режиму.

graph LR
    N["NORMAL<br/>переміщення, команди"] -->|"i, a, o"| I["INSERT<br/>введення тексту"]
    I -->|"Esc"| N
    N -->|"v, V"| V["VISUAL<br/>виділення тексту"]
    V -->|"Esc"| N
    N -->|":"| C["COMMAND<br/>:w :q :help"]
    C -->|"Enter або Esc"| N

    style N fill:#339af0,stroke:#333,color:#fff
    style I fill:#51cf66,stroke:#333,color:#000
    style C fill:#ffd43b,stroke:#333,color:#000
Режим Для чого Як увійти
NORMAL Переміщення, видалення, копіювання. Стартовий режим Esc
INSERT Введення тексту, як у звичайному редакторі i, a, o
VISUAL Виділення фрагмента тексту v, V, Ctrl+v
COMMAND Команди редактора: зберегти, вийти, знайти :

Найперше правило новачка

Якщо ви заплуталися — натисніть Esc. Це завжди повертає вас у режим NORMAL, звідки працюють усі команди.

Вихід із редактора

Класична проблема новачка. Спочатку Esc, потім:

Команда Дія
:w Зберегти файл
:q Вийти (не спрацює, якщо є незбережені зміни)
:wq або :x Зберегти та вийти
:q! Вийти без збереження, відкинувши всі зміни
:w new_name.py Зберегти під іншим ім'ям

Переміщення

Клавіші Дія
h j k l Вліво, вниз, вгору, вправо (стрілки теж працюють)
w / b На слово вперед / назад
0 / $ На початок / кінець рядка
gg / G На початок / кінець файлу
42G або :42 Перейти на рядок 42
Ctrl+d / Ctrl+u Пів екрана вниз / вгору
{ / } На попередній / наступний порожній рядок (між блоками коду)
% Стрибнути до парної дужки

Введення тексту

Клавіша Дія
i Вставляти перед курсором
a Вставляти після курсора
I На початок рядка та в режим вставки
A У кінець рядка та в режим вставки
o Створити новий рядок знизу й перейти в нього
O Створити новий рядок зверху
Esc Повернутися в NORMAL

Видалення, копіювання, вставка

Команда Дія
x Видалити символ під курсором
dd Видалити (вирізати) рядок цілком
3dd Видалити 3 рядки
dw Видалити слово
d$ Видалити до кінця рядка
yy Скопіювати рядок
p / P Вставити після / перед курсором
u Скасувати останню дію (undo)
Ctrl+r Повернути скасоване (redo)
cc Стерти рядок і одразу перейти в режим вставки

Команди складаються як речення

Синтаксис Vim — це дія + об'єкт: d (delete) + w (word) = dw, видалити слово. Додайте число попереду — і дія повториться: 3dw видалить три слова. Так само працюють y (copy) та c (change): y3j, ci" тощо. Вивчивши десяток «літер», ви отримуєте сотні комбінацій.

Пошук і заміна

Команда Дія
/text Шукати text вперед; Enter — виконати
?text Шукати назад
n / N Наступний / попередній збіг
* Знайти слово під курсором
:%s/old/new/g Замінити old на new у всьому файлі
:noh Прибрати підсвічування знайденого

Робота з кількома файлами

Команда Дія
:e file.py Відкрити інший файл
:vsplit file.py Розділити вікно вертикально
:split file.py Розділити горизонтально
Ctrl+w + h/j/k/l Перейти в сусіднє вікно
:Explore Вбудований файловий провідник

Запуск Python із Neovim

Не виходячи з редактора:

:w
:!python3 %

% означає «поточний файл». Ще варіант — :terminal відкриває справжній термінал в окремому вікні редактора.

Мінімальна конфігурація

Neovim налаштовується файлом ~/.config/nvim/init.lua (його треба створити вручну):

vim.opt.number = true          -- номери рядків
vim.opt.expandtab = true       -- пробіли замість табуляції
vim.opt.shiftwidth = 4         -- відступ 4 пробіли
vim.opt.tabstop = 4            -- символ табуляції показувати як 4 пробіли
vim.opt.mouse = "a"            -- підтримка миші
vim.opt.clipboard = "unnamedplus"  -- спільний буфер обміну із системою:
                                   -- скопійоване в Neovim можна вставити
                                   -- в браузер і навпаки
vim.opt.ignorecase = true      -- пошук без урахування регістру

Плагіни (опціонально)

Щоб отримати можливості рівня IDE, потрібен менеджер плагінів — найпоширеніший lazy.nvim. Найкорисніші плагіни для Python:

Плагін Що дає
nvim-lspconfig + pyright Підказки про помилки, перехід до визначення
nvim-cmp Автодоповнення коду
nvim-treesitter Якісне підсвічування синтаксису
telescope.nvim Швидкий пошук файлів і тексту по проєкту
nvim-dap Налагоджувач із точками зупинки

Вбудований тренажер

Виконайте в терміналі команду vimtutor — це інтерактивний підручник на 25–30 хвилин, який проводить через усі базові команди на практиці. Найшвидший спосіб освоїти Neovim.

Що вибрати для курсу

Neovim — потужний інструмент, але його вивчення потребує додаткових зусиль. Якщо ви не впевнені в своїх силах, або шукаєте простіший шлях — беріть VS Code. Neovim має сенс, якщо вам цікаво працювати в терміналі й ви готові тратити час на його вивчення і звикання.

Онлайн-інтерпретатори Python

Онлайн-інтерпретатор — це сайт, на якому можна написати й запустити код без встановлення чогось на комп'ютер. Код виконується на сервері, результат повертається у вікно браузера.

Сервіс Адреса Особливості
Python Shell python.org/shell Офіційний REPL у браузері, без реєстрації
Python Tutor pythontutor.com Покрокова візуалізація виконання: змінні, пам'ять, виклики функцій
Programiz programiz.com/python-programming/online-compiler Простий редактор із підтримкою input()
Replit replit.com Повноцінне середовище з файлами; потрібна реєстрація
Google Colab colab.research.google.com Ноутбуки Jupyter, потрібен акаунт Google

Python Tutor — окрема рекомендація

pythontutor.com виконує програму по кроках і малює стан пам'яті: які змінні існують, які значення в них лежать, на якому рядку зараз виконання.

Візьміть приклад із першої лекції та прогляньте його крок за кроком — ви буквально побачите, як працює цикл:

n = 5

total = 0
i = 1
while i <= n:
    total = total + i
    i = i + 1

print("total =", total)

Це найкращий інструмент, щоб зрозуміти зв'язок «блок-схема → код → виконання».

Обмеження онлайн-сервісів

  • немає доступу до файлової системи вашого комп'ютера — робота з файлами обмежена або неможлива;
  • немає повноцінного налагоджувача з точками зупинки;
  • сторонні бібліотеки або недоступні, або обмежені набором, який передбачив сервіс;
  • обмеження на час виконання та обсяг пам'яті;
  • код зберігається на чужому сервері, а вкладка легко закривається разом із роботою.

Практичні роботи виконуються локально

Онлайн-інтерпретатори — інструмент для швидкої перевірки ідеї або для роботи з чужого комп'ютера. Практичні роботи курсу виконуються локально: потрібні скріншоти запуску, робота з файлами та власна структура проєкту.

Що використовувати і коли

graph TD
    Q{"Що потрібно зробити?"}
    Q -->|"Перевірити один вираз"| R["REPL: python3"]
    Q -->|"Написати програму,<br/>практичну роботу"| V["VS Code + python3 file.py"]
    Q -->|"Зрозуміти, як<br/>виконується код"| P["Python Tutor"]
    Q -->|"Немає доступу<br/>до свого комп'ютера"| O["Онлайн-інтерпретатор"]

    style V fill:#51cf66,stroke:#333,color:#000
    style P fill:#ffd43b,stroke:#333,color:#000

Основний інструмент курсу — VS Code з локально встановленим Python 3. Решта — допоміжні засоби.

Корисні посилання

Домашнє завдання

  1. Встановити Python 3 і переконатися, що python3 --version виводить версію.
  2. Встановити VS Code та розширення Python від Microsoft або Neovim, та вибрати інтерпретатор.
  3. Створити каталог python-course, відкрити його у VS Code, створити файл hello.py і запустити його.
  4. У REPL обчислити кілька виразів: 17 // 5, 17 % 5, 2 ** 10. Пояснити результати.
  5. Відкрити pythontutor.com, вставити програму обчислення суми від 1 до N та переглянути її покрокове виконання.

Знайшли помилку чи бажаєте додати інформацію, щоб покращити курс? Створіть issue на GitHub