martes, 21 de marzo de 2023

f-strings in Python 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)

 https://www.geeksforgeeks.org/formatted-string-literals-f-strings-python/


f-strings in Python

  • Difficulty Level : Easy
  • Last Updated : 16 Jul, 2022

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 = datetime.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

No hay comentarios:

Publicar un comentario