F-строки, также известные как «форматированные строковые литералы» или «f-strings», были введены в Python 3.6 и представляют собой современный способ форматирования строк. Они являются удобным и эффективным инструментом, позволяющим включать выражения Python в строковые литералы, используя фигурные скобки {}
.
Синтаксис f-строк
F-строки начинаются с префикса f
или F
перед строковым литералом. Выражения внутри фигурных скобок {}
вычисляются и заменяются их значениями при создании строки.
f"Текст {выражение}"
Простой пример использования f-строк
name = "Василий" age = 25 # Создание f-строки greeting = f"Привет, меня зовут {name} и мне {age} лет." print(greeting) #Привет, меня зовут Василий и мне 25 лет.
Выражения в f-строках
F-строки позволяют использовать любые выражения Python внутри фигурных скобок.
length = 10 width = 5 # Вычисление площади прямоугольника area = f"Площадь прямоугольника со сторонами {length} и {width} равна {length * width}." print(area) #Площадь прямоугольника со сторонами 10 и 5 равна 50.
Форматирование чисел в F-строках
F-строки в Python предоставляют гибкие возможности для форматирования чисел. В этом разделе мы рассмотрим различные аспекты форматирования чисел с использованием F-строк, включая округление, выравнивание, форматирование с разделителями разрядов и другие.
Округление
Округление чисел может быть выполнено с помощью F-строки, для этого после двоеточия указываем количество знаков после запятой и ставим букву «f» внутри фигурных скобок:
pi = 3.14159265 rounded_pi = f"Значение числа пи, округленное до 2 знаков после запятой: {pi:.2f}" print(rounded_pi) #Значение числа пи, округленное до 2 знаков после запятой: 3.14
Выравнивание
Числа можно выравнивать по правому, левому краю или по центру, указав соответствующий символ и ширину поля после двоеточия внутри фигурных скобок:
number = 42 # Выравнивание по правому краю right_aligned = f"{number:>10}" print(right_aligned) # Вывод: " 42" # Выравнивание по левому краю left_aligned = f"{number:<10}" print(left_aligned) # Вывод: "42 " # Выравнивание по центру center_aligned = f"{number:^10}" print(center_aligned) # Вывод: " 42 "
Разделители разрядов
F-строки позволяют отображать разделители разрядов в числах для улучшения читаемости:
large_number = 1000000 formatted_number = f"Число с разделителями разрядов: {large_number:,}" print(formatted_number) #Число с разделителями разрядов: 1,000,000
Процентное форматирование
Для отображения числа в виде процентов, после двоеточия ставим точку, число знаков после точки и знак %
:
fraction = 0.25 percentage = f"Доля в процентах: {fraction:.2%}" print(percentage) #Доля в процентах: 25.00%
Шестнадцатеричное, восьмеричное и двоичное представление чисел
F-строки также позволяют отображать числа в шестнадцатеричной, восьмеричной и двоичной форме, используя спецификаторы «x», «o» и «b» соответственно:
number = 255 # Шестнадцатеричное представление hexadecimal = f"Шестнадцатеричное представление числа {number}: {number:x}" print(hexadecimal) # Вывод: Шестнадцатеричное представление числа 255: ff # Восьмеричное представление octal = f"Восьмеричное представление числа {number}: {number:o}" print(octal) # Вывод: Восьмеричное представление числа 255: 377 # Двоичное представление binary = f"Двоичное представление числа {number}: {number:b}" print(binary) # Вывод: Двоичное представление числа 255: 11111111
Настройка форматирования с помощью переменных
F-строки позволяют использовать переменные для настройки форматирования, такие как ширина поля и количество знаков после запятой:
number = 123.45678 width = 10 precision = 2 formatted_number = f"Число с заданной шириной поля и точностью: {number:{width}.{precision}f}" print(formatted_number) #Число с заданной шириной поля и точностью: 123.46
Экспоненциальный формат
Для отображения числа в экспоненциальном формате, используйте букву «e» после двоеточия:
number = 12345678.9 exponential_format = f"Число в экспоненциальном формате: {number:.2e}" print(exponential_format) #Число в экспоненциальном формате: 1.23e+07
Многострочные f-строки
F-строки могут использоваться для создания многострочных строк.
name = "Олег" age = 30 # Многострочная f-строка multiline_f_string = f"""\ Привет! Меня зовут {name}. Мне {age} лет.""" print(multiline_f_string)
Вывод:
Привет! Меня зовут Олег. Мне 30 лет.
Экранирование символов
Для того чтобы использовать фигурные скобки как символы в f-строках, их нужно экранировать, используя двойные фигурные скобки {{
и }}
.
discount = 10 # Экранирование фигурных скобок escaped_brackets = f"Скидка составляет {discount}% (обозначается символами '{{}}')." print(escaped_brackets) #Скидка составляет 10% (обозначается символами '{}').
Заключение
F-строки представляют собой мощный инструмент, который может значительно упростить работу с текстом и сделать ваш код более читабельным и лаконичным. Благодаря их гибкости и простоте использования, f-строки стали стандартом форматирования строк в современных версиях Python и являются предпочтительным выбором для большинства программистов по сравнению с более старыми методами, такими как использование метода str.format() или оператора %.