Можно ли в f-строках использовать выражения?

Да, в f-строках можно использовать выражения. Внутри фигурных скобок {} можно помещать любые валидные 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-строке.

0