Модульні уроки (4/4)
Друк і f-струни
Щоб повідомити щось користувачеві (або побачити, що відбувається всередині
наша програма) ми використовуємо вбудовану функцію print(...). Скласти
текст із кількох значень, сучасним і кращим є синтаксис
f-рядок.
print(...)
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 2print може приймати скільки завгодно аргументів: він об’єднує їх пробілом (за
за замовчуванням) і додає новий рядок у кінці. Ви можете змінити обидва за допомогою
Параметри sep та end:
print("a", "b", "c", sep="-") # a-b-c
print("senza newline", end="") # niente \n dopof-рядок: сучасна інтерполяція
f-рядок – це рядок із префіксом f: у фігурних дужках {...}
ви можете вставити будь-який вираз Python, який буде обчислено та вставлено в
результат:
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.У фігурних дужках можна розмістити виклики, операції, звернення до об’єктів — це так Код 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) використовувалися дві форми ви все ще зустрінете в старішому коді:
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)
# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)Для нового коду завжди використовуйте f-рядки: коротше, читабельніше, швидше.
Розширене форматування за допомогою f-рядків
F-рядки підтримують розширені специфікації форматування безпосередньо всередині фігурних дужок. Наприклад, щоб відформатувати десяткове число з рівно двома знаками після коми, ви можете написати:
price = 19.99
print(f"Price: {price:.2f} $")Специфікатор :.2f вказує на те, що ми хочемо представити число з плаваючою точкою рівно 2 знаки після коми.
Спробуйте самі
Якщо задано `name = 'Ada'` і `age = 30`, створіть рядок 'Ada ha 30 anni' за допомогою f-рядка та призначте його `line`. Оцініть `рядок`.
Показати підказку
Синтаксис: f"щось {змінна} щось інше"
Рішення доступне після 3 спроб
Повторна вправа
Надрукуйте за допомогою print() рядок "pi greco vale 3.14", починаючи з "pi = 3.14159", використовуючи f-рядок зі специфікацією формату 2 знаки після коми.
Показати підказку
Специфікація формату йде після двокрапки в дужках: {pi:.2f}.
Рішення доступне після 3 спроб
Додатковий виклик
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 спроб