Jan 21st, 2023
String interpolation is a way to embed expressions inside string literals, allowing you to create more readable and dynamic strings. In Python, the most recent and recommended way to do string interpolation is using f-strings, also known as "formatted string literals".
F-strings were introduced in Python 3.6 and offer a more concise and efficient way to embed expressions inside string literals, compared to the older methods like format()
or %
operator.
The Python 3.10 and Python 3.11 updates added additional functionality to f-strings, and we will be covering this in a future blog post.
The syntax for an f-string is very simple: you start with the letter "f" or "F" followed by a string literal, and inside that string, you can include expressions inside curly braces {}. For example:
name = "John" age = 30 print(f"My name is {name} and I am {age} years old.") # Output: My name is John and I am 30 years old.
You can also include more complex expressions inside the curly braces, like mathematical operations, function calls, or even nested f-strings:
a = 5 b = 10 c = 15 print(f"{a} * {b} = {a * b}") # Output = 5 * 10 = 50 print(f"{a} + {b} + {c} = {a + b + c}") # Output = 5 + 10 + 15 = 30 print(f"{a} * {b + c} = {a * (b + c)}") # Output = 5 * 25 = 125
F-strings also allow you to use alignment, padding, and precision options, which can be useful for formatting numbers or creating tables of data.
To align a value to the left, right or center of the field, you can use the <
, >
, or ^
characters respectively, like this:
x = 1234 print(f"{x:<10}") # align to the left with a width of 10 Output: "1234 " print(f"{x:>10}") # align to the right with a width of 10 Output: " 1234" print(f"{x:^10}") # center align with a width of 10 Output: " 1234 "
To add padding to a value, you can use the 0 character, like this:
x = 12 print(f"{x:04}") # pad with zeros to a width of 4 Output: "0012"
To specify the precision of a value, you can use the . character, like this:
x = 3.14159 print(f"{x:.2f}") # round to 2 decimal places Output: "3.14"
In conclusion, f-strings are a concise and efficient way to do string interpolation in Python and they offer several formatting options such as alignment, padding and precision.
Note: The above examples are just basic examples of f-strings, you can explore more to get more advanced uses of f-strings in python.