Example 1: f string in python
name = "John Smith"
print(f"Hello, {name}")
name = "John Smith"
print("Hello, {}".format(name))
Example 2: f string repr
>>> color = "blue\ngreen"
>>> day = datetime.date(2020, 6, 4)
>>> f"Color is {color} and day is {day}"
'Color is blue\ngreen and day is 2020-06-04'
>>> f"Color is {color!r} and day is {day!r}"
"Color is 'blue\\ngreen' and day is datetime.date(2020, 6, 4)"
Example 3: python f string
>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."
'Hello, Eric. You are 74.'
Example 4: python f string literal
name = "George"
age = 16
favorite_food = "pizza"
print("My name is", name, ", my age is", age, ", and my favorite food is", favorite_food)
print("My name is "+ name +", my age is "+ str(age)+ ", and my favorite food is "+ favorite_food)
print(f"My name is {name}, my age is {age}, and my favorite food is {favorite_food}")
"""
Why put the f before the string, you ask?
Well if you didnt, the output would literally be {name} instead of the actual variable
One more thing: this is fairly new and only works with python 3.6 and higher.
"""
Example 5: python f-strings
>>> name = "Fred"
>>> f"He said his name is {name!r}."
"He said his name is 'Fred'."
>>> f"He said his name is {repr(name)}."
"He said his name is 'Fred'."
>>> width = 10
>>> precision = 4
>>> value = decimal.Decimal("12.34567")
>>> f"result: {value:{width}.{precision}}"
'result: 12.35'
>>> today = datetime(year=2017, month=1, day=27)
>>> f"{today:%B %d, %Y}"
'January 27, 2017'
>>> f"{today=:%B %d, %Y}"
'today=January 27, 2017'
>>> number = 1024
>>> f"{number:#0x}"
'0x400'
>>> foo = "bar"
>>> f"{ foo = }"
" foo = 'bar'"
>>> line = "The mill's closed"
>>> f"{line = }"
'line = "The mill\'s closed"'
>>> f"{line = :20}"
"line = The mill's closed "
>>> f"{line = !r:20}"
'line = "The mill\'s closed" '
Example 6: python f string
>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."
'Hello, Eric. You are 74.'