Skip to content
Related Articles
Open in App
Not now

Related Articles

f-strings in Python

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 16 Jul, 2022
Improve Article
Save Article

PEP 498 introduced a new string formatting mechanism known as Literal String Interpolation or more commonly as F-strings (because of the leading f character preceding the string literal). The idea behind f-strings is to make string interpolation simpler. 
To create an f-string, prefix the string with the letter “ f ”. The string itself can be formatted in much the same way that you would with str.format(). F-strings provide a concise and convenient way to embed python expressions inside string literals for formatting. 
Code #1 : 


# Python3 program introducing f-string
val = 'Geeks'
print(f"{val}for{val} is a portal for {val}.")
name = 'Tushar'
age = 23
print(f"Hello, My name is {name} and I'm {age} years old.")

Output : 

GeeksforGeeks is a portal for Geeks.
Hello, My name is Tushar and I'm 23 years old.

Code #2 : 


# Prints today's date with help
# of datetime library
import datetime
today =
print(f"{today:%B %d, %Y}")

Output : 

April 04, 2018

Note : F-strings are faster than the two most commonly used string formatting mechanisms, which are % formatting and str.format(). 
Let’s see few error examples, which might occur while using f-string :
Code #3 : Demonstrating Syntax error. 


answer = 456
f"Your answer is "{answer}""

Code #4 : Backslash Cannot be used in format string directly.


f"newline: {ord('\n')}"

Output : 

Traceback (most recent call last):
  Python Shell, prompt 29, line 1
Syntax Error: f-string expression part cannot include a backslash: , line 1, pos 0

But the documentation points out that we can put the backslash into a variable as a workaround though :


newline = ord('\n')
print(f"newline: {newline}")

Output : 

newline: 10

Reference : PEP 498, Literal String Interpolation

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!