Python f-строки
Python f-строка (форматированный строковый литерал) позволяет вставлять переменные или выражения непосредственно в строку, помещая их в фигурные скобки {}.
Этот метод делает код более читаемым и часто работает быстрее других техник форматирования строк.
Пример
name = "Jennifer"
age = 23
# Используем f-строку, чтобы встроить переменные name и age в строку
message = f"My name is {name} and I am {age} years old."
print(message)
# Вывод: My name is Jennifer and I am 23 years old.
Синтаксис Python f-строки
f-строка начинается с f или F, за которым следуют кавычки. Поместите любые переменные или выражения, которые вы хотите встроить, в фигурные скобки {} внутри строки.
Например,
f"string with {expression}"
Здесь:
fилиF: префикс строки символомfилиFобозначает её как f-строку." ": используйте двойные или одинарные кавычки вокруг строки.{expression}: поместите любую переменную, вычисление или выражение в фигурные скобки{}, чтобы встроить его в строку.
Пример: Python f-строка
language = "Python"
# Используем f-строку, чтобы встроить переменную language в строку
text = f"Learn {language} with 'AlashEd'."
print(text)
Вывод
Learn Python with 'AlashEd'.
В приведённом примере:
f"Learn {language} with 'AlashEd'."— это f-строка.{language}— это плейсхолдер для переменнойlanguage.
Вычисление выражения внутри f-строки
Вы можете выполнять вычисления непосредственно внутри f-строки. Например,
num1 = 5
num2 = 4
# Вычисляем сумму num1 и num2 внутри f-строки
result = f"Sum of {num1} and {num2} is {num1 + num2}."
print(result)
Вывод
Sum of 5 and 4 is 9.
Здесь {num1 + num2} — это выражение, вычисляемое внутри f-строки.
Плейсхолдер Python f-строки
Вы можете размещать различные выражения внутри плейсхолдера f-строки. Например,
Вызов функций внутри плейсхолдеров
Вы можете вызвать функцию прямо внутри плейсхолдера f-строки, и возвращаемое значение будет встроено в строку.
def greeting():
return "Good morning"
# Вызываем greeting() внутри f-строки
text = f"{greeting()}, everyone!"
print(text)
# Вывод: Good morning, everyone!
Здесь функция greeting() возвращает "Good morning", которое затем помещается непосредственно в f-строку через {greeting()}.
Использование условных выражений внутри плейсхолдеров
Вы можете использовать условные выражения (if-else) внутри плейсхолдера f-строки, чтобы динамически изменять вывод в зависимости от значений переменных.
age = 18
# Используем условное выражение внутри f-строки
text = f"You are {'an adult' if age >= 18 else 'a minor'}."
print(text)
# Вывод: You are an adult.
В этом примере:
{ 'an adult' if age >= 18 else 'a minor' }вычисляет условие.Если
ageравно 18 или больше, выводится"an adult"; иначе —"a minor".
Доступ к значениям словаря внутри плейсхолдера
Вы также можете получать значения словаря прямо внутри f-строк, используя ключ словаря внутри фигурных скобок {}.
person = {"country": "USA", "employee_ID": 121}
# Доступ к значениям словаря внутри f-строки
text = f"Country: {person['country']}, Employee ID: {person['employee_ID']}"
print(text)
# Вывод: Country: USA, Employee ID: 121
В этом примере мы получили значения словаря person внутри f-строки.
Здесь:
{person['country']}— плейсхолдер, обращающийся к значению ключаcountry.{person['employee_ID']}— плейсхолдер, обращающийся к значению ключаemployee_ID.
Советы по использованию f-строк
Совет
Как обрабатывать кавычки внутри f-строки?
Если вы используете двойные кавычки для f-строки, используйте одинарные кавычки внутри, и наоборот. Иначе будет синтаксическая ошибка.
Правильно
# Двойные кавычки снаружи, одинарные внутри
text = f"Learn {language} with 'AlashEd'."
# Одинарные кавычки снаружи, двойные внутри
text = f'Learn {language} with "AlashEd".'
Неправильно
# Вызывает синтаксическую ошибку из-за совпадающих кавычек
text = f'Learn {language} with 'AlashEd'.'
text = f"Learn {language} with "AlashEd"."
Примечание
Почему стоит использовать f-строки?
Читаемость: f-строки делают код чище и читаемее, встраивая переменные прямо в строки.
Скорость: они быстрее старых методов вроде
.format(), так как вычисляются во время выполнения.Гибкость: f-строки позволяют выражения и вызовы функций внутри строки.
Коротко: f-строки — быстрый, читаемый и универсальный способ форматирования строк.