JavaRush /Курси /Модуль 1: Python Core /Просунута робота з функцією print()

Просунута робота з функцією print()

Модуль 1: Python Core
Рівень 3 , Лекція 9
Відкрита

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”.

Приклад Пояснення

print(1, 2, 3, 4, 5, sep=",\n")  

Цикл виведе на екран числа
1,
2,
3,
4,
5
            

Параметр end визначає, що буде надруковано після всіх переданих значень. Стандартне значенняend — символ нового рядка (\n), що означає перевод рядка після виконання print().

Змінюючи end, можна керувати тим, як виводяться дані, наприклад, для продовження виводу на тому ж рядку:

Приклад:


            print("Hello", end=" ")
            print("world")  # Вивід: Hello world               
        

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

Окрім спрощення коду та уникнення необхідності вручну додавати розділювачі або керувати переносами рядків, використання sep і end підвищує читабельність і підтримуваність коду.

Коментарі (5)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Valentyn Рівень 11
15 грудня 2025
Задача успішно пройшла тестування! File "/ua/javarush/python/core/level03/task19/task19.py", line 7 name=input("Who are you?") IndentationError: unexpected indent
В'ячеслав Рівень 8
15 серпня 2025
print("Hello", "world", sep=" , ") # Вивід: Hello, world - тут помилка. Правильний вивід Hello , world Пробіл буде по обидві сторони коми
Oleksandr Рівень 21
7 березня 2025
"Шаблон рядка від {} до {}".format(значение1, значение2,…) — значення1 ...
18 грудня 2024
циклом можна додати елементи в список, а потім в принт вивести *список з відповідними сеп та енд
9 грудня 2024
Намагався написати з циклом. Не вийшло. Написав в один рядок - прийняло(