Python Core

Перша програма і функція print

Перша програма на Python, виклик функції, позиційні та ключові аргументи, параметри sep і end, коментарі, рядкові літерали та екранування. Як читати перші повідомлення про помилки SyntaxError і NameError.

Перша програма і функція print

Що ми напишемо

У цьому уроці ви напишете й запустите першу програму, навчитеся виводити текст у термінал і керувати форматом виводу. Також ви побачите перші помилки й навчитеся їх читати: помилки в Python неминучі, а їхні повідомлення вказують, що саме виправити.

🎯 Мета лекції

  • Створити й запустити Python-скрипт.
  • Викликати функцію print з одним і кількома аргументами.
  • Керувати виводом через sep і end.
  • Записувати коментарі та рядки з лапками й спеціальними символами.
  • Прочитати повідомлення SyntaxError і NameError.

🔑 Ключові терміни

  • Функція: іменований фрагмент коду, який можна викликати.
  • Аргумент: значення, яке передають у функцію.
  • Рядок (str): текст у лапках.
  • Коментар: текст у коді, який Python ігнорує.
  • Traceback: повідомлення про помилку з вказівкою на місце в коді.

Пригадаємо попередній урок

Перша програма: Hello, World!

Традиційно знайомство з мовою починається з програми, що виводить вітання. Створіть у редакторі VS Code файл hello.py з одним рядком:

print("Hello, World!")
У VS Code на час навчання вимкніть підказки штучного інтелекту (Copilot та подібні). Вони дописують код замість вас і заважають запам'ятати синтаксис.

Запустіть файл у терміналі:

python hello.py
python hello.py
$ python hello.py
Hello, World!

Розберемо рядок за частинами:

  • print — ім'я вбудованої функції, яка виводить текст.
  • ( і ) — дужки виклику. Вони обов'язкові, навіть якщо аргументів немає.
  • "Hello, World!" — аргумент: рядок (string), текст у лапках. Лапки показують початок і кінець тексту, у вивід вони не потрапляють.

Функція і її виклик

Функція (function) — іменований фрагмент коду, який виконує певну роботу. Щоб запустити функцію, пишуть її ім'я та круглі дужки: print(...). Це називається викликом (call). Якщо функції потрібні дані, їх вказують у дужках — це аргументи (arguments).

Функції бувають трьох видів:

  • вбудовані — доступні одразу, наприклад print і len;
  • з модулів — їх спершу підключають, наприклад функції з модуля math;
  • власні — їх пишете ви (тема одного з наступних уроків).

Для будь-якої функції корисно знати три речі: який вона має ефект (що робить), які приймає аргументи і який повертає результат. Для print:

  • ефект: виводить аргументи в термінал;
  • аргументи: значення будь-яких типів (текст, числа, інші);
  • результат: немає. Функція повертає спеціальне значення None.

Перевірте це самостійно:

result = print("x")
print(result)
print(type(print))
x
None
<class 'builtin_function_or_method'>

Перший print виводить x, а його результат None зберігається в result. Другий виводить цей результат. Третій показує, що print — це об'єкт-функція, а print(...) — її виклик. Ім'я без дужок функцію не запускає.

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

Аргументи print: позиційні та ключові

print приймає два види аргументів.

Позиційні (positional) — звичайні значення. Їх можна передати скільки завгодно, порядок має значення. print виводить їх через пробіл:

print("My", "name", "is", "Monty", "Python.")
print(1, 2.5, True, None)
My name is Monty Python.
1 2.5 True None

Ключові (keyword) — аргументи з іменем: ім'я=значення. Вони завжди йдуть після позиційних, їхній порядок не важливий. У print їх два:

  • sep (separator) — що вставити між аргументами. За замовчуванням пробіл.
  • end — що вивести в кінці. За замовчуванням символ нового рядка \n, тому кожен print починає з нового рядка.
print("My", "name", "is", "Monty", "Python.", sep="-")
My-name-is-Monty-Python.

Параметр end дозволяє залишити вивід у тому самому рядку:

print("My name is", end=" ")
print("Monty Python.")
My name is Monty Python.

print() без аргументів виводить порожній рядок.

Ключові аргументи не можна ставити перед позиційними: print(sep="-", "a", "b") викличе помилку. Для sep і end допустимі лише рядки або None: print("a", sep=1) завершиться помилкою TypeError: sep must be None or a string, not int.

Коментарі

Текст після знака # Python ігнорує до кінця рядка. Такі коментарі (comments) пояснюють код людям:

# Виводимо привітання
print("Привіт!")  # коментар можна писати й у кінці рядка
Привіт!

Коментар пояснює, чому код написано так, а не повторює те, що видно з самого коду.

Рядки: лапки та спеціальні символи

Рядок можна записати в подвійних або одинарних лапках: "текст" і 'текст' — це одне й те саме. Це дозволяє вставити один вид лапок усередину іншого:

print("Дон'т")
print('Він сказав "привіт"')
Дон'т
Він сказав "привіт"

Якщо потрібні ті самі лапки, їх екранують (escape): ставлять перед ними зворотний слеш \.

print("Лапки: \"так\" і 'так'")
Лапки: "так" і 'так'

Зворотний слеш вводить керувальні послідовності (escape sequences):

ЗаписЩо означає
\nновий рядок
\tтабуляція
\"подвійні лапки
\'одинарні лапки
\\сам символ \
print("Рядок1\nРядок2")
print("Табуляція:\tтут")
print("Слеш: C:\\Users")
Рядок1
Рядок2
Табуляція:  тут
Слеш: C:\Users

Важлива деталь: у коді \n — це два знаки, але Python читає їх як один символ нового рядка. Перевірка:

print(len("\n"))
1

Для шляхів у Windows зручний сирий рядок (raw string) з літерою r перед лапками: слеші в ньому не обробляються.

print(r"C:\new\table")
print(len(r"\n"))
C:\new\table
2

Рядок на кілька рядків записують у потрійних лапках:

print("""Три
рядки""")
Три
рядки

Перші помилки

Помилки неминучі. Python повідомляє, що пішло не так, і показує місце помилки. Повідомлення містить назву типу помилки та пояснення. Розглянемо два найчастіших типи.

SyntaxError: код записано неправильно

SyntaxError (синтаксична помилка) виникає, коли Python не може розібрати код. Програма не виконується взагалі, навіть рядки до помилки. Причина в тому, що Python компілює весь файл перед виконанням.

Не закритий рядок:

print("Hello)
  File "hello.py", line 1
    print("Hello)
          ^
SyntaxError: unterminated string literal (detected at line 1)

Відсутні дужки:

print "Hello"
  File "hello.py", line 1
    print "Hello"
    ^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

NameError: ім'я не існує

NameError виникає, коли код використовує ім'я, яке Python не знає. Помилка з'являється під час виконання, тому рядки до неї встигають спрацювати. Приклад з помилкою в назві функції:

prnt("Hello")

Повідомлення читають знизу вгору:

  1. Останній рядок — тип помилки та пояснення. Python 3.15 часто додає підказку Did you mean: 'print'?.
  2. Вище — рядок коду з підкресленням місця помилки.
  3. Ще вище — файл і номер рядка.

Інші типові причини NameError:

Print("Hello")
NameError: name 'Print' is not defined. Did you mean: 'print'?

Python розрізняє великі й малі літери, тому Print і print — різні імена.

print(Hello)
NameError: name 'Hello' is not defined

Без лапок Hello вважається іменем, а не текстом.

SyntaxError вказує на місце, де Python помітив проблему. Іноді реальна причина лежить у попередньому рядку, наприклад незакрита дужка. Якщо рядок із помилкою виглядає правильно, перевірте рядок вище.

Підсумок

  1. print(...) — виклик функції: ім'я знаходить функцію, дужки її запускають.
  2. print виводить текст, а її результат — None.
  3. Позиційні аргументи виводяться через sep (пробіл за замовчуванням), після них вставляється end (\n за замовчуванням).
  4. Коментар починається з # і ігнорується.
  5. \n у коді — два знаки, у рядку — один символ.
  6. SyntaxError виникає до запуску програми, NameError — під час виконання. Повідомлення читають знизу вгору.

Типові хибні уявлення

Передбачте, перш ніж запускати

Практичні завдання

Наступний урок: об'єкти, значення й типи. Що таке int, float, str, bool, чому 0.1 + 0.2 не дорівнює 0.3 і що означає «усе в Python — об'єкт».
Copyright © 2026