Форматирование строк в Python

Форматирование строк в Python Статьи

Введение

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

Admin
Admin
IT Start
Добавить комментарий