平时在打印结果的时候,直接就使用print
,但多次使用print
会导致界面看起来很乱。python提供两种格式化输出的方法——format
和%
,本文会介绍两者的使用,但首推format
。
print('{name} is {age} years old!'.format(name='xiaoming',age=10))
# 输出: xiaoming is 10 years old!
print('{0} is {1} years old'.format('xiaohua','21'))
# 输出: xiaohua is 21 years old
print("{0:10}".format("0123456789"))
print('{0:^10}'.format('123'))
print('{0:>10}'.format('123'))
print('{0:<10}'.format('123'))
输出:
0123456789
123
123
123
print('{:.1f}'.format(4.234324525254))
print('{:.4f}'.format(4.1))
# 输出
4.2
4.1000
b o d x 分别表示二、八、十、十六进制
# 不带前缀
print('不带前缀')
print('{:b}'.format(256))
print('{:o}'.format(256))
print('{:d}'.format(256))
print('{:x}'.format(256))
# 带前缀
print('带前缀')
print('{:#b}'.format(256))
print('{:#o}'.format(256))
print('{:#d}'.format(256))
print('{:#x}'.format(256))
输出:
不带前缀-------------------------
100000000
400
256
100
带前缀-------------------------
0b100000000
0o400
256
0x100
也可以使用:
>>> format(256,'#o')
0o400
>>> format(256,'o')
400
这种情况只针对与数字
print('{:,}'.format(100000000))
print('{:,}'.format(235445.234235))
# 输出
100,000,000
235,445.234235
{}
# 保留{}
print("{{十步杀一人}},千里不留行.事了拂衣去,{{{0}}}.".format("深藏身与名"))
# 输出
{十步杀一人},千里不留行.事了拂衣去,{深藏身与名}.
%o —— oct 八进制
%d —— dec 十进制
%x —— hex 十六进制
>>> print('%o' % 20)
24
>>> print('%d' % 20)
20
>>> print('%x' % 20)
14
>>> print('%#o' % 20)
0o24
>>> print('%#d' % 20)
20
>>> print('%#x' % 20)
0x14
■ \blacksquare ■