Formatting strings used to be clunky in Python. First it was % formatting, then .format(), both of which worked but could get messy fast. Python 3.6 introduced f-strings — and they immediately changed the game.
This week, we’re diving into why f-strings are faster, cleaner, and easier to use than older methods of string formatting. If you’re still relying on .format() or %, it’s time to level up.
How f-Strings Work
f-Strings (short for "formatted string literals") let you embed expressions directly inside string constants by prefixing the string with f or F.
Here’s a simple example:
name = "Alex"
age = 30
print(f"My name is {name} and I am {age} years old.")Inside the {} braces, you can put variables, math expressions, function calls — anything that returns a value.
Why f-Strings Are Better
Faster: Benchmarks show f-strings are faster than
%formatting and.format()because the expressions are evaluated at runtime.Cleaner: You avoid the long, tangled expressions of
.format().More Powerful: You can format numbers, dates, and even apply expressions directly inside the braces.
Example with formatting:
pi = 3.14159
print(f"Pi rounded to two decimals: {pi:.2f}")You can even call functions inside f-strings:
def upper_case(name):
return name.upper()
print(f"Hello {upper_case('alex')}")Switching to f-strings might feel like a tiny tweak, but it has a huge impact on the readability, maintainability, and speed of your code. Every string you format becomes easier to read, easier to debug, and faster to run.
Common Use Cases:
Generating dynamic messages in apps or scripts
Formatting logs and debug statements
Creating structured outputs like reports
Quickly injecting variables into templates
Reducing clutter in multi-line strings
Learn AI in 5 minutes a day
This is the easiest way for a busy person wanting to learn AI in as little time as possible:
Sign up for The Rundown AI newsletter
They send you 5-minute email updates on the latest AI news and how to use it
You learn how to become 2x more productive by leveraging AI


