f
или F
. animal = 'кот'
age = 7
f'У меня есть {animal}. Ему {age+1}.' # У меня есть кот. Ему 8.
def print_me(one, two):
print(f'Вот тебе {one}, а вот тебе {two}.')
{}
). В то время как обычные литералы представляют собой константы, значение форматированных строк вычисляются в ходе исполнения программы.{{
или }}
, которые заменяются на одиночные). Одиночная открывающая скобка {
сигнализирует о начале маркера замены (выражения на Питоне), после которого могут следовать указатель преобразования (начинается с восклицательного знака !
), а также указатель формата (начинается с двоеточия :
). Маркер завершается фигурной закрывающей скобкой }
.\n
) приведёт к исключению SyntaxError.{(выражение)[!преобразование][:формат]}
. animal = 'cat'
f'I have a {animal!r}.' # I have a 'cat'.
f'I have a {repr(animal)}.' # I have a 'cat'.
# Вложенные маркеры:
width = 10
precision = 4
value = decimal.Decimal('12.34567')
f'result: {value:{width}.{precision}}' # result: 12.35
f'{my_var =}'
, чтобы вывести название переменной и её текущее значение. my_var = 'cat'
print(f'{my_var=}') # my_var = 'cat'
# Имеется возможность дополнения строки до указанной длины:
print(f'{my_var.upper() = :a^7}') # my_var = 'aaCATaa'
print(f'{my_var.upper() = :b>7}') # my_var = 'bbbbCAT'
Если у вас есть, что сказать, можете представиться и исправить ситуацию.