{} можно помещать любые валидные Python выражения, которые будут вычислены во время выполнения и подставлены в строку.
Да, в f-строках (formatted string literals) в Python можно использовать выражения.
F-строки позволяют встраивать выражения Python непосредственно внутрь строковых литералов. Эти выражения вычисляются во время выполнения, и их результаты подставляются в строку на место выражения.
Синтаксис для встраивания выражений в f-строку очень простой: нужно заключить выражение в фигурные скобки {} внутри строки, начинающейся с префикса f (или F).
Примеры:
name = "Alice"
age = 30
print(f"Привет, меня зовут {name}, и мне {age} лет.")  # Вывод: Привет, меня зовут Alice, и мне 30 лет.x = 5
y = 10
print(f"Сумма x и y равна {x + y}.")  # Вывод: Сумма x и y равна 15.def square(n):
  return n * n
print(f"Квадрат числа 3 равен {square(3)}.")  # Вывод: Квадрат числа 3 равен 9.class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
person = Person("Bob", 25)
print(f"Имя: {person.name}, Возраст: {person.age}.")  # Вывод: Имя: Bob, Возраст: 25.age = 15
print(f"Возраст: {age}, { 'Совершеннолетний' if age >= 18 else 'Несовершеннолетний' }.") # Вывод: Возраст: 15, Несовершеннолетний.pi = 3.14159265359
print(f"Число Pi: {pi:.2f}") # Вывод: Число Pi: 3.14 (округление до 2 знаков после запятой)Важно: Выражения в f-строках ограничены по сложности. Нельзя использовать оператор присваивания (=) напрямую внутри фигурных скобок. Если требуется более сложная логика, лучше вычислить результат выражения до использования в f-строке.