Что такое f-строка в Python?

F-строки (форматированные строковые литералы) в Python - это способ создания строк путем подстановки значений переменных непосредственно в строку. Они начинаются с префикса f или F перед кавычками.

Например:


name = "Alice"
age = 30
greeting = f"Привет, меня зовут {name}, и мне {age} лет."
print(greeting)  # Выведет: Привет, меня зовут Alice, и мне 30 лет.
  

Внутри фигурных скобок {} можно использовать любые допустимые выражения Python.


f-строки (Formatted String Literals) в Python - это мощный и удобный способ для форматирования строк, появившийся в Python 3.6. Они позволяют встраивать выражения Python непосредственно внутрь строкового литерала, что делает код более читаемым и лаконичным.

Основное отличие f-строк от других методов форматирования, таких как %-форматирование или .format(), заключается в том, что они вычисляют значения выражений во время выполнения и подставляют их непосредственно в строку.

Синтаксис f-строк:

Чтобы создать f-строку, нужно поставить префикс f (или F) перед открывающей кавычкой строки. Внутри строки можно использовать фигурные скобки {} для вставки выражений Python.

Примеры:

        
            name = "Alice"
            age = 30

            # Использование f-строки
            greeting = f"Привет, меня зовут {name}, и мне {age} лет."
            print(greeting)  # Вывод: Привет, меня зовут Alice, и мне 30 лет.

            # Выполнение операций внутри f-строки
            result = f"2 + 2 = {2 + 2}"
            print(result)  # Вывод: 2 + 2 = 4

            # Форматирование чисел
            pi = 3.14159
            formatted_pi = f"Значение числа Пи: {pi:.2f}"  # Ограничение до 2 знаков после запятой
            print(formatted_pi) # Вывод: Значение числа Пи: 3.14

            # Использование переменных и функций
            def get_city():
                return "London"

            city = get_city()
            location = f"Я нахожусь в городе {city.upper()}" # Использование метода строки
            print(location) # Вывод: Я нахожусь в городе LONDON

            # Использование с лямбда-функциями (хотя и не рекомендуется в production коде для простоты чтения)
            message = f"Квадрат числа 5: {(lambda x: x*x)(5)}"
            print(message) # Вывод: Квадрат числа 5: 25
        
    

Преимущества f-строк:

  • Читаемость: Код становится более понятным и лаконичным, так как переменные и выражения встраиваются непосредственно в строку.
  • Производительность: F-строки обычно быстрее, чем %-форматирование и .format(), особенно при сложных операциях.
  • Удобство: Использование переменных и выражений Python напрямую в строке упрощает процесс форматирования.
  • Возможности форматирования: F-строки поддерживают различные опции форматирования, такие как форматирование чисел, дат и т.д.

Важно:

  • F-строки доступны только в Python 3.6 и более поздних версиях.
  • Следует быть осторожным при использовании f-строк с данными, полученными из ненадежных источников, чтобы избежать уязвимостей безопасности (например, injection).

В заключение, f-строки - это мощный и удобный инструмент для форматирования строк в Python, который делает код более читаемым, эффективным и простым в использовании.

0