Mastering String Formatting in Python: F-Strings and Format Method

Mastering String Formatting in Python: F-Strings and Format Method

String formatting is an essential skill in Python, allowing you to create dynamic strings by inserting variables and expressions. This guide will cover the use of f-strings, introduced in Python 3.6, and the traditional format method.

F-Strings: The Modern Way

F-strings provide a concise and readable way to embed expressions inside string literals. To create an f-string, simply prefix the string with an f.

Creating an F-String

Here's how you can create a simple f-string:

txt = f"The total is 42 dollars"
print(txt)

Using Placeholders

F-strings allow you to include placeholders within curly braces {}. You can insert variables directly into the string:

price = 75
txt = f"The price is {price} dollars"
print(txt)

Formatting with Modifiers

You can use modifiers to format numbers. For example, to display a price with two decimal places:

price = 75
txt = f"The price is {price:.2f} dollars"
print(txt)

Performing Calculations

F-strings can perform calculations directly within the placeholders:

txt = f"The total after tax is {75 + (75 * 0.2)} dollars"
print(txt)

Using Functions in F-Strings

You can call functions within f-strings as well:

def square(x):
return x * x
txt = f"The square of 5 is {square(5)}"
print(txt)

The Format Method

Before f-strings, the format() method was commonly used for string formatting. It remains a valid option in Python.

Using Format Method

Here's how to format strings using the format() method:

price = 49
txt = "The price is {} dollars"
print(txt.format(price))

Multiple Placeholders

You can also format multiple values at once:

quantity = 3
itemno = 567
myorder = "I want {} pieces of item number {}."
print(myorder.format(quantity, itemno))

Conclusion

F-strings in Python offer a powerful and efficient way to format strings. They allow for inline expressions, calculations, and easy variable insertion. While the format() method is still usable, f-strings are generally preferred for their simplicity and performance. Mastering these formatting techniques will greatly enhance the readability and functionality of your Python code.