Содержание
Введение
В статье рассмотрим три способа форматирования строк в Python.
Форматирование строк оператором %
В Python строках присутствует встроенный оператор %, который может использоваться для их форматирования. Благодаря этому можно упростить позиционное форматирование.
Допустим у нас есть переменная name, в которой хранится имя Иван:
name = "Иван"
Теперь выведем приветствие с Иваном:
print('Привет, %s!' % name) # Вывод: Привет, Иван!
Определитель формата %s используется в данном случае, чтобы указать Python, где именно заменить значение имени, представленного в виде строки.
Определителей формата существует много.
Определители форматаФорматЧто получится‘%d’, ‘%i’, ‘%u’Десятичное число.‘%o’Число в восьмеричной системе счисления.‘%x’Число в шестнадцатеричной системе счисления (буквы в нижнем регистре).‘%X’Число в шестнадцатеричной системе счисления (буквы в верхнем регистре).‘%e’Число с плавающей точкой с экспонентой (экспонента в нижнем регистре).‘%E’Число с плавающей точкой с экспонентой (экспонента в верхнем регистре).‘%f’, ‘%F’Число с плавающей точкой (обычный формат).‘%g’Число с плавающей точкой. с экспонентой (экспонента в нижнем регистре), если она меньше, чем -4 или точности, иначе обычный формат.‘%G’Число с плавающей точкой. с экспонентой (экспонента в верхнем регистре), если она меньше, чем -4 или точности, иначе обычный формат.‘%c’Символ (строка из одного символа или число – код символа).‘%r’Строка (литерал python).‘%s’Строка (как обычно воспринимается пользователем).‘%%’Знак ‘%’.
Форматирование строк методом .format()
Допустим у нас так же есть переменная name с именем Иван, выведем сообщение “Привет, Иван” с помощью метода format():
name = "Иван" print("Привет, {0}!".format(name)) # Вывод: Привет, Иван!
Теперь выведем сразу две переменные, для этого добавим переменную age, в которой будет храниться возраст Ивана:
age = 20
И теперь выведем приветствие с указанием возраста:
name = "Иван" age = 20 print("Привет, {0}! Тебе {1} лет!".format(name, age)) # Вывод: Привет, Иван! Тебе 20 лет!
Так же можно изменить расположение элементов в скобочках:
name = "Иван" age = 20 print("Привет, {1}! Тебе {0} лет!".format(name, age)) # Вывод: Привет, 20! Тебе Иван лет!
Можно в скобочках вообще ничего не указывать, и переменные подставятся по порядку:
name = "Иван" age = 20 print("Привет, {}! Тебе {} лет!".format(name, age)) # Вывод: Привет, Иван! Тебе 20 лет!
Не обязательно использовать переменные, можно просто вписать нужные данные:
print("Привет, {}! Тебе {} лет!".format("Иван", 20)) # Вывод: Привет, Иван! Тебе 20 лет!
Форматирование f-строк
Продолжаем приветствовать Ивана, только в этот раз используя f-строки. Для использования данных строк нужно просто добавить f перед строкой, а в фигурных скобках указать название переменной, значение из которой должно находиться в строке:
name = "Иван" print(f"Привет, {name}!") # Вывод: Привет, Иван!
Можем даже складывать числа, переменные, списки:
name = "Иван" number_1 = 100 number_2 = 400 print(f"Привет, {name}! Сколько будет {number_1} + {number_2}?") print(f"Будет {number_1 + number_2}") # Вывод: Привет, Иван! Сколько будет 100 + 400? # Будет 500
name = "Иван" number_1 = [100, 200, 300] number_2 = [400, 100, 100] print(f"Привет, {name}! Сложи два списка {number_1} + {number_2}!") print(f"Будет {number_1 + number_2}") # Вывод: Привет, Иван! Сложи два списка [100, 200, 300] + [400, 100, 100]! # Будет [100, 200, 300, 400, 100, 100]