Перейти до основного вмісту
Модуль 1 · Урок 4 із 44/36 у курсі~8 min
Модульні уроки (4/4)

Друк і f-струни

Щоб повідомити щось користувачеві (або побачити, що відбувається всередині наша програма) ми використовуємо вбудовану функцію print(...). Скласти текст із кількох значень, сучасним і кращим є синтаксис f-рядок.

print(...)

Python
print("Ciao, mondo!")           # Ciao, mondo!
print("a", "b", "c")            # a b c       (separati da spazio)
print(2 + 2)                    # 4
print("riga 1", "riga 2")       # riga 1 riga 2

print може приймати скільки завгодно аргументів: він об’єднує їх пробілом (за за замовчуванням) і додає новий рядок у кінці. Ви можете змінити обидва за допомогою Параметри sep та end:

Python
print("a", "b", "c", sep="-")   # a-b-c
print("senza newline", end="")  # niente \n dopo

f-рядок: сучасна інтерполяція

f-рядок – це рядок із префіксом f: у фігурних дужках {...} ви можете вставити будь-який вираз Python, який буде обчислено та вставлено в результат:

Python
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.

У фігурних дужках можна розмістити виклики, операції, звернення до об’єктів — це так Код Python у всіх відношеннях:

Python
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €

:.2f після двокрапки є специфікацією формату: у цьому випадку "два десяткові цифри, фіксована кома". Найкорисніші характеристики формату:

  • :.Nf — N десяткових цифр (f"{pi:.4f}" → 3.1416).
  • :N / :>N / :<N / :^N — ширина N, вирівнювання вправо/вліво/по центру.
  • :_ або :, — роздільник тисяч (f"{1000000:,}" → 1,000,000).

Альтернативний синтаксис (для довідки)

До f-рядків (введених у Python 3.6) використовувалися дві форми ви все ще зустрінете в старішому коді:

Python
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)

# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)

Для нового коду завжди використовуйте f-рядки: коротше, читабельніше, швидше.

Розширене форматування за допомогою f-рядків

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

Python
price = 19.99
print(f"Price: {price:.2f} $")

Специфікатор :.2f вказує на те, що ми хочемо представити число з плаваючою точкою рівно 2 знаки після коми.

Спробуйте самі

вправи#python.m1.l4.e1
Спроби: 0Завантаження…

Якщо задано `name = 'Ada'` і `age = 30`, створіть рядок 'Ada ha 30 anni' за допомогою f-рядка та призначте його `line`. Оцініть `рядок`.

Завантаження редактора…
Показати підказку

Синтаксис: f"щось {змінна} щось інше"

Рішення доступне після 3 спроб

Повторна вправа

вправи#python.m1.l4.e2
Спроби: 0Завантаження…

Надрукуйте за допомогою print() рядок "pi greco vale 3.14", починаючи з "pi = 3.14159", використовуючи f-рядок зі специфікацією формату 2 знаки після коми.

Завантаження редактора…
Показати підказку

Специфікація формату йде після двокрапки в дужках: {pi:.2f}.

Рішення доступне після 3 спроб

Додатковий виклик

вправи#python.m1.l4.e3
Спроби: 0Завантаження…

Given a variable `price` set to `19.99`, use an f-string to construct the string `'Price: 19.99 €'` and store it in `receipt_line`. Finally, evaluate the variable.

Завантаження редактора…
Показати підказку

Використовуйте f"Price: {price} €" і призначте результат receipt_line.

Рішення доступне після 3 спроб