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 повышает читаемость и поддерживаемость кода.

undefined
2
Задача
Модуль 1: Python Core, 3 уровень, 9 лекция
Недоступна
F-нотация
F-нотация
undefined
2
Задача
Модуль 1: Python Core, 3 уровень, 9 лекция
Недоступна
От sep до end
От sep до end