F-strings are a powerful and concise way to format strings in Python introduced in Python 3.6. They provide a way to embed expressions directly inside strings using curly braces {}. This makes code more readable and easier to maintain compared to other formatting methods.

Here's a breakdown of how F-Strings work:

Creating F-Strings:

  • An f-string is prefixed with the letter f or F before the opening quotation mark (" or ').
  • Inside the string, you can include expressions within curly braces {}. These expressions can be variables, calculations, or function calls.

Example:

Python
name = "Alice"
age = 30

greeting = f"Hello, {name}!"  # Embeds the value of 'name' in the string
age_info = f"{name} is {age} years old."  # Embeds both 'name' and 'age'

print(greeting)
print(age_info)

Output:

Hello, Alice!
Alice is 30 years old.

Formatting Options:

F-strings also allow for basic formatting of the included expressions. You can specify format specifiers after the colon : within the curly braces. Here are some common options:

  • .2f: Formats numbers as floating-point values with two decimal places.
  • ,: Adds commas for separating thousands (e.g., for large numbers).

Example:

Python
discount = 0.1
sale_price = f"Discounted price: ${(100 - discount * 100):.2f}"

print(sale_price)

Output:

Discounted price: $90.00

Advantages of F-Strings:

  • Readability: F-strings keep your code clean and easy to understand by integrating variables and expressions directly into the string.
  • Conciseness: They eliminate the need for separate string formatting methods like the .format() function.
  • Flexibility: You can include any valid Python expression within the curly braces.