Python has evolved over the years, and so has its string formatting capabilities. One of the latest and most popular string formatting techniques in Python is the f-string, introduced in Python 3.6. F-strings, also known as “formatted string literals,” provide a more concise and readable way to embed expressions inside string literals. In this article, we’ll explore the f-string format function and see how it can make string formatting simpler and more efficient.
-
Basics of f-strings
F-strings are denoted by an “f” or “F” character before the string literal, followed by curly braces {} containing expressions that will be evaluated and inserted into the string. Here’s a simple 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.
-
Formatting with f-strings
You can use f-strings to format numbers, dates, and other data types. Here are some common formatting options:
- Format a number with a specific number of decimal places:
pi = 3.141592653589793
print(f"The value of pi is approximately {pi:.3f}")
Output:
The value of pi is approximately 3.142
- Format a number with a thousands separator:
large_number = 1234567
print(f"The large number is {large_number:,}")
Output:
The large number is 1,234,567
- Format a date using strftime:
from datetime import datetime
now = datetime.now()
print(f"Today's date is {now:%Y-%m-%d}")
Output:
Today's date is 2023-04-20
-
Expressions within f-strings
F-strings allow you to embed any valid Python expression inside the curly braces, including arithmetic operations, function calls, and even conditional expressions:
- Arithmetic operations:
x = 5
y = 3
print(f"The sum of {x} and {y} is {x + y}")
Output:
The sum of 5 and 3 is 8
- Function calls:
def greet(name):
return f"Hello, {name}!"
print(greet("Alice"))
Output:
Hello, Alice!
- Conditional expressions:
temperature = 25
print(f"It's {'hot' if temperature > 30 else 'cold'} today.")
Output:
It's cold today.
Conclusion
F-strings in Python offer a modern, concise, and efficient way to format strings. With their ability to embed expressions, format numbers and dates, and improve the readability of your code, f-strings have become an essential tool for Python programmers. By mastering the f-string format function, you’ll be able to write cleaner, more efficient, and more maintainable Python code.