F-строки, также известные как «форматированные строковые литералы» или «f-strings», были введены в Python 3.6 и представляют собой современный способ форматирования строк. Они являются удобным и эффективным инструментом, позволяющим включать выражения Python в строковые литералы, используя фигурные скобки {}
.
F-строки начинаются с префикса f
или F
перед строковым литералом. Выражения внутри фигурных скобок {}
вычисляются и заменяются их значениями при создании строки.
f"Текст {выражение}"
Простой пример использования f-строк
name = "Василий"
age = 25
# Создание f-строки
greeting = f"Привет, меня зовут {name} и мне {age} лет."
print(greeting)
#Привет, меня зовут Василий и мне 25 лет.
F-строки позволяют использовать любые выражения Python внутри фигурных скобок.
length = 10
width = 5
# Вычисление площади прямоугольника
area = f"Площадь прямоугольника со сторонами {length} и {width} равна {length * width}."
print(area)
#Площадь прямоугольника со сторонами 10 и 5 равна 50.
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-строки могут использоваться для создания многострочных строк.
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() или оператора %.
Содержание: