With the version 3.6, Python introduced a new string formatting method, f-strings or Literal String Interpolation. With this formatting method you can use embedded Python expressions inside string constants. Python f-strings are a faster, more readable, more concise, and less error prone.
Print Variables Using f-stringTo print variables using f-strings, you can simply put them inside the placeholders ({}). The string starts with a 'f' prefix, and one or more place holders are inserted in it, whose value is filled dynamically.
ExampleIn the below example, we are printing the variables using f-strings.
name = 'Rajesh' age = 23 fstring = f'My name is {name} and I am {age} years old' print (fstring)
It will produce the following output −
My name is Rajesh and I am 23 years oldEvaluate Expressions Using f-Strings
The f-string can also be used to evaluate expressions inside the {} placeholder.
ExampleThe following example shows how to evaluate expression using f-strings.
price = 10 quantity = 3 fstring = f'Price: {price} Quantity : {quantity} Total : {price*quantity}' print (fstring)
It will produce the following output −
Price: 10 Quantity : 3 Total : 30Printing Dictionaries Key-Value Using f-string
The placeholders can be populated by dictionary values. Dictionary is one of the built-in data types in Python that stores unordered collection of key-value pairs.
ExampleIn the following example, we are formatting a dictionary using f-strings.
user = {'name': 'Ramesh', 'age': 23} fstring = f"My name is {user['name']} and I am {user['age']} years old" print (fstring)
It will produce the following output −
My name is Ramesh and I am 23 years oldSelf Debugging Expression in f-string
The = character is used for self debugging the expression in f-string as shown in the following example −
price = 10 quantity = 3 fstring = f"Total : {price*quantity=}" print (fstring)
It will produce the following output −
Total : price*quantity=30Call User-Defined Function Using f-string
It is also possible to call a user defined function inside the f-string expression. To do so, simply use the function name by passing required parameters.
ExampleThe below example shows how to call a method inside f-string.
def total(price, quantity): return price*quantity price = 10 quantity = 3 fstring = f'Price: {price} Quantity : {quantity} Total : {total(price, quantity)}' print (fstring)
It will produce the following output −
Price: 10 Quantity : 3 Total : 30Precision Handling Using f-string
Python f-strings also support formatting floats with precision specifications, as done by format() method and string formatting operator %.
name="Rajesh" age=23 percent=55.50 fstring = f"My name is {name} and I am {age} years old and I have scored {percent:6.3f} percent marks" print (fstring)
It will produce the following output −
My name is Rajesh and I am 23 years old and I have scored 55.500 percent marksString Alignment Using f-string
For string variable, you can specify the alignment just as we did with format() method and formatting operator %.
name='TutorialsPoint' fstring = f'Welcome To {name:>20} The largest Tutorials Library' print (fstring) fstring = f'Welcome To {name:<20} The largest Tutorials Library' print (fstring) fstring = f'Welcome To {name:^20} The largest Tutorials Library' print (fstring)
It will produce the following output −
Welcome To TutorialsPoint The largest Tutorials Library Welcome To TutorialsPoint The largest Tutorials Library Welcome To TutorialsPoint The largest Tutorials LibraryPrint Numbers in Other Formats Using f-string
The f-strings can display numbers with hexadecimal, octal and scientific notation when used with "x", "o" and "e" respectively.
ExampleThe below example shows how to format numbers using f-string.
num= 20 fstring = f'Hexadecimal : {num:x}' print (fstring) fstring = f'Octal :{num:o}' print (fstring) fstring = f'Scientific notation : {num:e}' print (fstring)
It will produce the following output −
Hexadecimal : 14 Octal :24 Scientific notation : 2.000000e+01
python_string_formatting.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4