Как подставить данные в строку в Python? Что такое форматирование строк?

Python использует форматирование строк в стиле C для создания новых форматированных строк. Оператор «%» используется для форматирования набора переменных, заключенных в «кортеж» (список фиксированного размера), вместе со строкой форматирования, которая содержит обычный текст вместе с «спецификаторами аргумента», специальными символами, такими как %s и %d.

Допустим, у вас есть переменная с именем «name» с вашим именем пользователя, и вы хотели бы затем вывести (приветствие этому пользователю).

# Это напечатет "Привет, Антон!"
name = "Антон"
print("Привет, %s!" % name)

Чтобы использовать два или более спецификатора аргумента, используйте кортеж (круглые скобки):

# Это напечатает "Антон родился в 1980 году."
name = "Антон"
birth = 1980
print("%s родился в %d году." % (name, birth))

Любой объект, который не является строкой, также может быть отформатирован с использованием оператора % s. Строка, которая возвращается из метода «repr» этого объекта, форматируется как строка. Например:

# Это напичатает "A list: [1, 2, 3]"
mylist = [1,2,3]
print("A list: %s" % mylist)

Вот некоторые основные спецификаторы аргументов, которые вы должны знать:

%s - String (or any object with a string representation, like numbers)

%d - Integers

%f - Floating point numbers

%.<number of digits>f - Floating point numbers with a fixed amount of digits to the right of the dot.

%x/%X - Integers in hex representation (lowercase/uppercase)

Упражнение

Вам нужно будет написать строку формата, которая выводит данные, используя следующий синтаксис: Hello John Doe. Your current balance is $53.44.

#поправьте код ниже
data = ("John", "Doe", 53.44)
format_string = "Hello";
print(format_string % data)

Решение упражнения

data = ("John", "Doe", 53.44)
format_string = "Hello %s %s. Your current balance is $%s.";
print(format_string % data)