article banner

Перша програма на Python

Це фрагмент книги Python з нуля, яка допоможе вам навчитися програмуванню з нуля. Ви можете знайти його на Allegro, Empik та в інтернет-книгарнях.

Код — це лише текст. Щоб він ожив, потрібен хтось, хто його зінтерпретує, тобто зрозуміє та виконає вказівки, які в ньому містяться. Навіть найкраща книжка стане марною, якщо у неї не буде читача, якого вона може зворушити чи чогось навчити. Так і код не має жодної цінності, доки у нього немає інтерпретатора. Інтерпретатор — це програма, яка розуміє наш код. У найпростішому варіанті вона читає код рядок за рядком і виконує його інструкції. В інших випадках — перекладає цей код на простішу мову, яку зрозуміє інший інтерпретатор 0.

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

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

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

Використання терміну "встановлення Python" — це поширене спрощення. Ми встановлюємо інтерпретатор мови Python, тобто програму, яка розумітиме та виконуватиме команди, написані цією мовою1. Наразі його можна встановити на всі популярні операційні системи, як будь-яку іншу програму чи гру. Просто зайди на сайт https://www.python.org/downloads/ і завантаж файл для встановлення. Відкрий цей файл, познач "Customize installation" та пройди усі кроки, зберігаючи налаштування, вибрані за замовчуванням, за одним винятком: постав прапорець "Add Python to environment variables" (ймовірно, на другому кроці). Якщо процес пройшов успішно, Python уже має бути на Твоєму комп’ютері2.

Додавання Python до змінних середовища ("Add Python to environment variables") дозволяє знаходити його під час введення команди "python" у командному рядку. Якщо Ти не позначив/позначила цей прапорець, пройди процес встановлення ще раз, поставивши позначку.

Під час встановлення Python вибери "Add Python to envirзі будь-яких проблеonment variables". Це дозволить користуватися ним у консолі. Немає необхідності відзначати "Download debug binaries", але краще поставити цю позначку, оскільки це може бути корисним на наступних етапах навчання.

Використання Python з командного рядка

Наступним важливим кроком у нашому навчанні буде запуск Командного рядка. Це дуже важливо для розробників. Командний рядок дозволяє запускати певні програми введенням їхніх назв. Насправді це дуже зручно. Уяви, що Тобі потрібно виконати код Python у файлі "hello.py". Якби інтерпретатор Python запускався як звичайні програми, нам довелося б запустити його, вибрати файл, прийняти його, і лише тоді ми могли би побачити результат. Оскільки він запускається з консолі, достатньо ввести "python hello.py" та підтвердити, натиснувши Enter. Щоб запустити його знову, достатньо натиснути стрілку вгору в консолі, що запускає виконану раніше команду, і натиснути Enter. Це дуже зручно для програмістів. Якщо хочеш перевірити, яка версія Python встановлена на Твоєму комп’ютері, просто введи "python --version". За класичного запуску програми Тобі довелося б довго шукати цю інформацію. Крім того, командний рядок дозволяє легко взаємодіяти з користувачем. Хорошим прикладом є Python REPL, з яким ми незабаром познайомимося. Тому користуватися Python через командний рядок досить зручно.

Програма Python, що працює в командному рядку.

Щоб відкрити командний рядок у Windows, найпростіше клікнути на полі пошуку (у нижньому лівому куті) і ввести "cmd". Так ми знайдемо програму, підписану як "Командний рядок" 6. Відкрий її, клікаючи на піктограму або натискаючи кнопку Enter. У MacOS достатньо відкрити програму під назвою "Terminal", яку можна знайти серед програм.

У Windows командний рядок можна знайти, ввівши "cmd" або "командний рядок".

Вигляд Командного рядка в Windows 10.

Тепер, коли ми відкрили командний рядок, можемо переконатися, що Python правильно встановлений на нашому комп’ютері. Введи "python --version". Якщо версія не відображається, Python встановлено неправильно. Почни встановлення знову, переконавшись, що під час встановлення вибрано "Add Python to environment variables". Потрібно встановити Python у версії щонайменше 3.6. Якщо у Тебе старіша версія, приклади в цій книзі можуть не спрацювати. У цьому випадку також почни процес встановлення з самого початку, переконавшись, що Ти завантажив файл встановлення для новішої версії мови.

Перевірка версії Python, встановленої на комп’ютері.

Якщо у Тебе є файл з кодом Python, Ти можеш запустити його за допомогою команди "python" та назви файлу після неї. Наприклад, якщо файл називається "hello.py"7, введи "python hello.py". Однак він повинен знаходитися у тому ж місці, де відкрито командний рядок.

У командному рядку ліворуч від того місця, де Ти вводиш команди, є шлях до місця, в якому Ти зараз перебуваєш.

Файли Python найпростіше створювати за допомогою інструменту під назвою середовище розробки (IDE). Для наступної вправи Ти можеш створити текстовий файл у папці. Зверни увагу, що його розширенням за замовчуванням буде txt. Якщо під час перейменування файлу ти не бачиш розширення, це означає, що в кінці є невидиме ".txt". Наразі нам це не заважатиме, але тоді програму потрібно буде запускати командою "python hello.py.txt".

Новий файл у Windows створюється клацанням правою кнопкою миші в папці.

Ми ще повернемося до створення та називання файлів. Наразі познайомимося з нашим найкращим другом у вивченні Python — REPL.

Завдання: Перша програма

  • Встанови Python відповідно до інструкцій у цьому розділі.
  • У папці, в якій запущено командний рядок (за замовчуванням це домашня папка поточного користувача), створи файл і переіменуй його на "hello.py". Клацни по ньому правою кнопкою миші, вибери "Відкрити за допомогою" та знайди "Блокнот".
  • У файлі напиши print ("Hello from Python"), як на знімку екрану вище.
  • У командному рядку запусти "python hello.py" (або "python hello.py.txt", якщо Тобі не вдалося змінити розширення файлу).

Якщо всі кроки виконані правильно, Ти побачиш текст "Hello from Python". Вітаю, це Твоя перша програма на Python.

Використання REPL

REPL (англ. read-eval-print loop) — це спеціальні інструменти, які створюють простір для виконання коду на заданій мові програмування та для спостереження за його ефектом. Принцип роботи REPL простий: на кожному кроці він дозволяє нам писати ще один фрагмент коду. Коли ми приймаємо код за допомогою enter, він негайно викликає його та відображає результат. Потім REPL дозволяє нам ввести наступний фрагмент так, щоб він став частиною раніше написаного коду. REPL — це ключовий інструмент для вивчення програмування на Python. Він постачається разом із мовою. Ним можна користуватися кількома способами.

З Python встановлюється програма під назвою IDLE. Це невелике середовище для роботи з Python. Для використання REPL достатньо його запустити. Тут можна писати код Python, а після його затвердження переглядати результат роботи цього коду.

Використання IDLE.

REPL також можна запустити з командного рядка. Достатньо ввести команду "python". Якщо Python встановлено правильно, має запуститися REPL. З цього моменту ми можемо писати нові команди і спостерігати, що вони дають.

Використання REPL у командному рядку.

Завдання: Запусти і протестуй REPL

  • Відкрий IDLE.
  • Введи код print("Hello"), натисни Enter для запуску і спостерігай, що станеться.
  • Введи код 10 * 20 + 30, натисни Enter для запуску і спостерігай, що станеться.
  • Запусти командний рядок (у Windows "cmd" або "командний рядок", у MacOS або Linux "Terminal").
  • Введи команду python і запусти, натиснувши Enter.
  • Повтори кроки 2 і 3 у командному рядку.

Середовище програмування

REPL — чудовий інструмент для вивчення Python, але для написання серйозних проєктів нам знадобиться знаряддя, за допомогою якого ми зможемо створювати та розвивати файли цією мовою. Ми могли б скористатися Блокнотом 3, але його можливості дуже обмежені. Набагато кращими є спеціальні інструменти, призначені для створення та розробки проєктів, відомі як середовища програмування 4. Вони підтримують багато корисних функцій, як-от:

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

Використання PyCharm з підписаними функціями цієї програми.

Існує багато хороших IDE для Python. Я особисто рекомендую PyCharm у версії Community. Це безкоштовний інструмент із відкритим кодом. Є також дуже хороша альтернатива Visual Studio Code. У цій книзі я використовуватиму PyCharm. Його інсталяційний файл можна завантажити з вебсайту JetBrains 5. Після встановлення PyCharm створи новий проєкт. Для початку можна використовувати налаштування за замовчуванням.

Таке вікно ми побачимо після встановлення PyCharm. Щоб створити новий проєкт, вибери "New project".

Коли ми створюємо проєкт, ми можемо вказати його назву, перейменувавши папку (поле "Location"). Я також рекомендую вибрати "Create a main.py welcome script".

На знімку екрана вище вибрано поле "Create a main.py welcome script". Завдяки цьому в нашому проєкті буде створено приклад файлу на Python. З лівого боку від if __name__... повинен з’явитися зелений трикутник. З його допомогою Ти запустиш код всередині цієї умови if. Результат роботи цієї програми повинен з’явитися у вікні знизу.

PyCharm з запущеним "main.py welcome script". Він містить зразок коду Python. Представлений код стане зрозумілим під час ознайомлення з цим розділом книги.

Один із способів запустити програму на Python — використати зелений трикутник. Він з’являється поруч із спеціальною конструкцією if __name__ == ‘__main__’:.

Після запуску коду Python у PyCharm знизу має відкритися вікно з результатом запуску цієї програми. Тут результатом є текст "Hi, PyCharm".

Крім того, ми можемо створити файл із кодом Python самостійно. Клацни правою кнопкою миші на папці, в якій міститься проєкт, вибери "New > Python file". Введи будь-яку назву та затверди.

Щоб створити новий файл Python, клацни правою кнопкою миші на папці, де потрібно створити файл, а потім вибери "New > Python file".

Після вибору "New > Python file" зʼявиться діалогове вікно називання файлу.

Буде створено новий порожній файл. Увійшовши в нього, Ти можеш просто ввести "print("Hello")", а потім клацнути файл правою кнопкою миші та вибрати "Run {назва файлу}".

Код у файлі також можна запустити, клацнувши файл правою кнопкою миші та вибравши "Run {назва файлу}".

Це має запустити код з файлу та відобразити результат у вікні внизу.

Після запуску коду Python у PyCharm знизу має відкритися вікно з результатом запуску цієї програми. Тут результатом є текст "Hello".

Серед іншого, PyCharm має власну підтримку REPL. Унизу ти знайдеш кнопку для відкриття вкладки "Python Console". Коли ми її натиснемо, відкриється вікно REPL, в якому ми зможемо побачити, як працюватиме написаний нами код Python.

Коли ми виберемо "Python Console" у нижній частині PyCharm, відкриється вікно з Python REPL. У ньому ми можемо перевіряти роботу коду Python.

Завдання: Підготуй і протестуй редактор коду

  • Завантаж та встанови PyCharm Community.
  • Створи новий проєкт. Використай типовий файл або створи файл з назвою "test.py".
  • Запусти код з файлу за замовчуванням і поглянь на результат.

Онлайн-редактори

Редактори коду можна знайти також у вебверсії. Їхня перевага в тому, що можна легко запускати код і надсилати його іншим людям. Візьмімо за приклад онлайн-редактор replit.com. У ньому в лівій частині ми пишемо код, а у правій бачимо результат роботи цього коду.

Використання Python на сайті replit.com. Ліворуч ми пишемо код у редакторі, який дає підказки та підсвічує синтаксис. Після натискання кнопки "Run" праворуч ми побачимо, що цей код передає у консоль.

Коли ми задаємо іншим людям запитання про наш код (наприклад, на форумах або в групах), добрим звичаєм є публікувати його в одному з онлайн-редакторів і надсилати загальнодоступне посилання. Таким чином люди, які захочуть допомогти, повністю бачитимуть ваш код зі зручним забарвленням синтаксису. Їм також буде простіше перевірити, чи спрацює їхнє рішення, і дати вам відповідь із посиланням на нього.

Код у книзі

Усі фрагменти коду, представлені в книзі, можна запускати в REPL, PyCharm або онлайн-редакторі. Лише в деяких випадках вони є продовженням раніше написаного коду. В такому разі необхідно буде копіювати як той, так і попередній фрагмент. Просто переконайся, що Ти використовуєш для цього Python у третій версії.

Коментарі

У Python все, що вказано після символу # ігнорується до кінця рядка. Це так звані коментарі. Вони корисні для опису коду.

# Це коментар,
# текст для людини, яка читає код,
# буде проігнорований інтерпретатором

Я використовуватиму коментарі, щоб описати цей фрагмент коду. Я також розміщу їх позаду print, аби показати Тобі, що буде написано в результаті виконання цього коду.

print("Привіт, світе")  # Привіт, світе

# Як видно, використовуючи print, праворуч я пишу
# коментар, який повідомляє, що було написано.

З цього правила, як і з будь-якого іншого, є деякі винятки. Наприклад, коли одна команда print буде використовуватися кілька разів для відображення різних текстів, я розміщу коментар із повідомленням про те, що там написано, не одразу за ним, а в кінці фрагмента коду.

for i in range(3):
    print(i)

# Виведе:
# 0
# 1
# 2

Коли я кажу, що щось буде виведене, то у випадку REPL це з’явиться одразу після прийняття фрагменту коду. Коли ми запустимо цей код у PyCharm, він виводитиметься у вікні результату роботи програми. Якщо ми запустимо програму з командного рядка, текст з’явиться під запущеною програмою.

Інструкції та недруковані символи

Як у згаданій вище записці від батьків було багато інструкцій, так і в нашому коді може бути більше однієї інструкції. Інструкція — це окрема команда для інтерпретатора. Найчастіше це виклик функції, оголошення, присвоєння або повернення значення. У Python зазвичай різні інструкції розміщені в різних рядках. Рядок може бути порожнім або містити коментар, тоді в ньому не буде інструкцій. Однак якщо у нас є два активних фрагменти коду, наприклад виклики print, це будуть різні інструкції.

print("Інструкція 1")  # Інструкція 1
print("Інструкція 2")  # Інструкція 2

Важливо, щоб ці інструкції були в різних рядках. Наш код не працюватиме, якщо вони будуть в одному.

print("Текст 1")print("Текст 2")
# Помилка! Код не буде зрозумілий

Python дуже чутливий до пробілів і знаків абзацу. Тому зважай на них. На щастя, середовище розробки, наприклад PyCharm, допомагає нам тримати код у порядку. Воно полегшить нам написання коду, а якщо ми зробимо помилку — підкреслить її. Наведи курсор на це підкреслення, і Ти побачиш, у чому полягає проблема з кодом.

Помилка компіляції в PyCharm позначається червоним підкресленням. Щоб побачити повідомлення про помилку, достатньо навести на неї курсор.

Якщо ми зробимо суттєву помилку, і попри це наша програма все одно запуститься, вона припинить роботу, коли виконуватиметься частина коду з помилкою. Це означає, що код був перерваний винятком. Винятки відображаються у вікні результатів червоним кольором. Зазвичай вони містять опис, який пояснює, що ми зробили не так.

Все це Ти побачиш під час навчання. Винятки справді корисні. Уважно прочитай повідомлення, яке повідомляє про виняток, оскільки воно містить підказки, як виправити неправильний код.

Польські символи

У новіших версіях Python польські символи не повинні створювати проблем. Однак, якщо Ти побачиш помилку "SyntaxError: Non-ASCII character...", встав "# coding = utf-8" на початку файлу. Таким чином ми вибираємо кодування utf-8, яке підтримує польські символи.

# coding=utf-8
print("Mała żaba łupi kraba")  # Mała żaba łupi kraba

Ну що ж? Схоже, ми готові приступити до справи. Тож поговорімо про значення.

0:

Переклад зі складнішої мови на простішу — це компіляція.

1:

Додаткова примітка для перфекціоністів: Python — це не лише інтерпретована мова. Найчастіше вона компілюється в Python bytecode, який запускається на віртуальній машині. У комерційних програмах зазвичай компілюють код Python безпосередньо в байт-код, який розуміє сам процесор. Це не знадобиться Тобі ні в наступних частинах цієї книги, ні для програмування на Python на початковому рівні.

2:

У разі будь-яких проблем знайди на YouTube "встановлення Python" і додай операційну систему, якою Ти користуєшся: Windows / Mac / Linux. Ти знайдеш багато відеороликів, які демонструють увесь процес встановлення від початку до кінця.

3:

Хоча в Microsoft Word можливе зберігання лише в текстовому режимі, за замовчуванням він додає незрозумілі для інтерпретатора елементи, які повідомляють про стилі або розміри шрифтів.

4:

Загальновживана абревіатура IDE від Integrated Development Environment — інтегроване середовище розробки.

5:

Наразі це сторінка https://www.jetbrains.com/pycharm/download, але я рекомендую загуглити "PyCharm download", щоб знайти поточну адресу.

6:

Є певна непослідовність у термінології. CLI (command-line interface) найчастіше називають командним рядком, але іноді також консоллю. Програма, в якій запускається CLI, часто називається Терміналом.

7:

Файли з кодом Python зазвичай зберігаються з розширенням ".py", скорочено від Python, як і текстові файли, які мають розширення ".txt", або PDF-файли з розширенням ".pdf". Однак розширення не є необхідним: правильно написаний на Python код запускатиметься, навіть якщо файл має інше розширення.