10.1 format()
Нам часто доводиться виводити багато даних у консоль (на екран). Ми не перші, хто з цим зіткнувся – тому вже давно у Python з'явилася функція format(), яка дозволяє об'єднувати рядки і виводити дані на екран простіше і зрозуміліше.
Функція format() використовується для вставки значень у рядок в певних позиціях. Синтаксис функції виглядає наступним чином:
"Шаблон рядка від {} до {}".format(значение1, значение2,…)
Факт1. Функція format() – це дочірня функція рядка, тому вона викликається у рядка. Замість того щоб передавати рядок у функцію, ми пишемо рядок, потім ставимо крапку, а потім викликаємо функцію format() і вже в неї передаємо її параметри.
Факт2. Функція format() заповнює рядок-шаблон переданими значеннями. Вона перетворює передані значення в рядки (якщо там були числа, наприклад) і вставляє їх в місця, позначені символами {}. Таке місце для вставки значення називається placeholder.
Базове використання:
welcome_message = "Привіт, {}, ласкаво просимо в {}!"
print(welcome_message.format("Анна", "наш магазин"))
Результат: "Привіт, Анна, ласкаво просимо в наш магазин!"
Форматування чисел:
output = "Дані: {0:.2f} і {1:.2f}".format(3.1415926, 2.71828)
print(output)
Результат: "Дані: 3.14 і 2.72" — демонстрація обмеження виводу до двох десяткових знаків.
Використання ключових слів:
output = "{name} працює на {company}"
print(output.format(name="Сергій", company="Google"))
Результат: "Сергій працює на Google"
Використання format() покращує читабельність і підтримуваність коду, дозволяючи легко змінювати формат без необхідності редагування всього рядка.
10.2 f-нотація
Починаючи з версії 3.6 у Python з'явився новий тип рядків — f-рядки, які буквально означають «formatted string». Ці рядки покращують читабельність коду, а також працюють швидше, ніж інші способи форматування.
Щоб використовувати f-рядки, перед рядком ставиться літера "f" або "F". Вирази для вставки розміщуються у фігурних дужках {}:
Приклад:
force = "Темна Сторона"
message = f"Хай буде з тобою {force}!"
print(message) # Виведе: Хай буде з тобою Темна Сторона!
Важливо! У фігурних дужках можна вказувати змінні, які доступні в поточній області видимості (про це пізніше) і Python сам перетворить їх у рядок і вставить у потрібне місце.
Приклад:
age = 28
message = f"Мені {age} років"
print(message) # Виведе: Мені 28 років
Більше того, у фігурних дужках можна використовувати вирази з купою змінних.
Приклад:
birth_year = 1985
current_year = 2024
message = f"Мені {current_year - birth_year} років"
print(message) # Виведе: Мені 39 років
Під капотом це все конвертується у виклик функції format(), але новий підхід дійсно зручніший.
Користуйтеся на здоров'я.
10.3 Параметри sep і end
У Python функція print() надає два корисних параметри — sep і end, які дозволяють керувати виводом даних. Ці параметри роблять функцію print() більш гнучкою і можуть бути використані для форматування виводу без необхідності використання додаткових функцій або складних рядкових операцій.
Параметр sep визначає символ або рядок, який буде використовуватися для розділення кількох значень, переданих у print(). За замовчуванням sep встановлений як пробіл. Це означає, що якщо ви передасте кілька аргументів у print(), вони будуть розділені пробілом.
А якщо ви хочете, щоб дані були розділені не пробілом, а, наприклад, комою, то вам потрібно в самому кінці додати параметр sep і відразу присвоїти йому новий рядок-розділювач.
Приклад:
print("Hello", "world") # Вивід: Hello world
print("Hello", "world", sep=" , ") # Вивід: Hello, world
Або можна, наприклад, зробити так, щоб кожне значення виводилось з нового рядка. Тоді параметру sep потрібно присвоїти спеціальний символ перевода рядка – він позначається парою символів “\n”.
| Приклад | Пояснення |
|---|---|
|
|
Параметр end визначає, що буде надруковано після всіх переданих значень. Стандартне значенняend — символ нового рядка (\n), що означає перевод рядка після виконання print().
Змінюючи end, можна керувати тим, як виводяться дані, наприклад, для продовження виводу на тому ж рядку:
Приклад:
print("Hello", end=" ")
print("world") # Вивід: Hello world
Використання sep і end може бути надзвичайно корисним у сценаріях, де вимагається особливе форматування виводу, наприклад, при створенні таблиць, звітів або при виводі даних в один рядок без автоматичного переноса на новий.
Окрім спрощення коду та уникнення необхідності вручну додавати розділювачі або керувати переносами рядків, використання sep і end підвищує читабельність і підтримуваність коду.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
значение1,значение2,…) — значення1 ...