f-string 还能在不同进制下显示数字。例如,不需要通过b来对一个int进行格式转化就可以显示其二进制结果。
>>> f'{7:b}'
'111'
总结一下就是可以用f-string来格式化:
• int 到二进制
• int 到十六进制
• int 到八进制
• int 到十六进制(所有符号大写)
下面的例子使用缩进功能和进制格式化创建了一个表,可以显示数字在不同进制下的值。
>>> bases = {
"b": "bin",
"o": "oct",
"x": "hex",
"X": "HEX",
"d": "decimal"
}
>>> for n in range(1, 21):
...: for base, desc in bases.items():
...: print(f"{n:5{base}}", end=' ')
...: print()
1 1 1 1 1
10 2 2 2 2
11 3 3 3 3
100 4 4 4 4
101 5 5 5 5
110 6 6 6 6
111 7 7 7 7
1000 10 8 8 8
1001 11 9 9 9
1010 12 a A 10
1011 13 b B 11
1100 14 c C 12
1101 15 d D 13
1110 16 e E 14
1111 17 f F 15
10000 20 10 10 16
10001 21 11 11 17
10010 22 12 12 18
10011 23 13 13 19
10100 24 14 14 20