>>> print("{name} lives in {address}".format(name="Joe",address="California"))
Joe lives in California
>>>
Python 2.7
Python 3.6
Version
Example 4: using formatted string literals (f or F prefix) - a.k.a f-strings
> Python 3.6
>>> name="Joe"
>>> address="Main Street"
>>> print(f"{name} lives in {address}")
Joe lives in Main Street
>>> print(F"{name} lives in {address}")
Joe lives in Main Street
Version
Example 5: using formatted string literals with expressions within placeholder(s)
> Python 3.6
>>> a,b=3,4
>>> print(f"{a} to the power of {b} = {a**b}")
3 to the power of 4 = 81
Number format specifiers
Type
Meaning
d
Decimal integer
c
Corresponding Unicode character
b
Binary format
o
Octal format
x
Hexadecimal format (lower case)
X
Hexadecimal format (upper case)
n
Same as 'd'. Except it uses current locale setting for number separator
e
Exponential notation. (lowercase e)
E
Exponential notation (uppercase E)
f
Displays fixed point number (Default: 6)
F
Same as 'f'. Except displays 'inf' as 'INF' and 'nan' as 'NAN'
g
General format. Rounds number to p significant digits. (Default precision: 6)
G
Same as 'g'. Except switches to 'E' if the number is large.
%
Percentage. Multiples by 100 and puts % at the end.
OTHERS
# default arguments
>>> print("Hello {}, your balance is {}.".format("Adam", 230.2346))
Hello Adam, your balance is 230.2346.
# positional arguments
>>> print("Hello {0}, your balance is {1}.".format("Adam", 230.2346))
Hello Adam, your balance is 230.2346.
# keyword arguments
>>> print("Hello {name}, your balance is {blc}.".format(name="Adam", blc=230.2346))
Hello Adam, your balance is 230.2346.
# mixed arguments
>>> print("Hello {0}, your balance is {blc}.".format("Adam", blc=230.2346))
Hello Adam, your balance is 230.2346.
# integer arguments
>>> print("The number is:{:d}".format(123))
The number is:123
# float arguments
>>> print("The float number is:{:f}".format(123.4567898))
The float number is:123.456790
# octal, binary and hexadecimal format
>>> print("bin: {0:b}, oct: {0:o}, hex: {0:x}".format(12))
bin: 1100, oct: 14, hex: c
# integer numbers with minimum width
>>> print("{:5d}".format(12))
12
# padding for float numbers
>>> print("{:8.3f}".format(12.2346))
12.235
# integer numbers with minimum width filled with zeros
>>> print("{:05d}".format(12))
00012
# padding for float numbers filled with zeros
>>> print("{:08.3f}".format(12.2346))
0012.235
# signed number, show the + sign
>>> print("{:+f} {:+f}".format(12.23, -12.23))
+12.230000 -12.230000
# signed number, show the - sign only
>>> print("{:-f} {:-f}".format(12.23, -12.23))
12.230000 -12.23000
# signed number, show space for + sign
>>> print("{: f} {: f}".format(12.23, -12.23))
12.230000 -12.230000
# integer numbers with right alignment
>>> print("{:5d}".format(12))
12
# float numbers with center alignment
>>> print("{:^10.3f}".format(12.2346))
12.235
# integer left alignment filled with zeros
>>> print("{:<05d}".format(12))
12000
# float numbers with center alignment
>>> print("{:=8.3f}".format(-12.2346))
- 12.235