f-string is definitely what you should use now,it's more readable and also faster.
If make some more variables it easy to see this they are where the belong in string and not last.
>>> store = 'Walmart'
>>> fruit = 'apple'
>>> cost = 14.20003
>>> print(f'A {fruit} at {store} cost {number:0.2f}')
A apple at Walmart cost 14.20
Vs
.format()
that was new in Python 2.6
>>> print('A {} at {} cost {:0.2f}'.format(fruit, store, cost))
A apple at Walmart cost 14.20
A couple more.
# f-strings can take any Python expressions inside the curly braces.
>>> cost = 99.75999
>>> finance = 50000
>>> print(f'Toltal cost {cost + finance:.2f}')
Toltal cost 50099.76
>>> name = 'f-string'
>>> print(f"String formatting is called {name.upper():*^20}")
String formatting is called ******F-STRING******
>>> for word in 'f-strings are cool'.split():
... print(f'{word.upper():~^20}')
...
~~~~~F-STRINGS~~~~~~
~~~~~~~~ARE~~~~~~~~~
~~~~~~~~COOL~~~~~~~~