Введение
В статье рассмотрим три способа форматирования строк в 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]
Заключение
В данной статье мы научились форматировать строки в Python аж тремя способами! Надеюсь Вам понравилась статья, удачи! 🙂