DEV Community

Cover image for Python: What is an f-string?
Adam Lombard
Adam Lombard

Posted on • Edited on

21 6

Python: What is an f-string?

In Python, f-strings are a string formatting mechanism that allow us to embed Python expressions in string literals. 'F-string' is short for 'formatted string'.

They are formatted like so:

f"string literal {expression}"
Enter fullscreen mode Exit fullscreen mode

Say, for instance, we want to print a user greeting where the username is variable:

username = 'Ellen'
print(f"Hello, {username}!")
Enter fullscreen mode Exit fullscreen mode
Hello, Ellen!
Enter fullscreen mode Exit fullscreen mode

Any valid Python expression can be used in the f-string brackets:

year = 2020
print(f"The year is {year}. A decade from now, the year will be {year + 10}.")
Enter fullscreen mode Exit fullscreen mode
The year is 2020. A decade from now, the year will be 2030.
Enter fullscreen mode Exit fullscreen mode

F-strings were added in Python 3.6.


Was this helpful? Did I save you some time?

🫖 Buy Me A Tea! ☕️


Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (12)

Collapse
 
waylonwalker profile image
Waylon Walker

Any version of python before 3.6 was dead to me the instant f-strings came out. They are so freaking useful!

Collapse
 
adamlombard profile image
Adam Lombard

Yes, they're very handy!

Collapse
 
muhimen123 profile image
Muhimen

f-string? Better way to use .format()

Keep in mind, f-string is only available for python 3.6 and upper

Collapse
 
adrianmarkperea profile image
Adrian Perea

I find the syntax of format a little bit harder to read than f-strings. F-strings make strings with variables read like prose

Collapse
 
adamlombard profile image
Adam Lombard

Thank you for noting the Python version. Excellent point!

Collapse
 
syntax753 profile image
Peter Turner • Edited

Shouldn't you edit the article to mention the version?
Good article in any case :)

Thread Thread
 
adamlombard profile image
Adam Lombard

Yes, thanks for the suggestion. :)

Collapse
 
sanyaldips93 profile image
Dipayan Sanyal

A nice shorthand of the format function.

A beautiful explanation. (Y)

Collapse
 
muhimen123 profile image
Muhimen

What is that (Y) doing at the end? 😅

Collapse
 
sanyaldips93 profile image
Dipayan Sanyal

I was trying to give a thumbs up

Thread Thread
 
eljayadobe profile image
Eljay-Adobe

(👍🏻)

Collapse
 
adamlombard profile image
Adam Lombard

Thank you!

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs