Python格式化输出(format和%)
平时在打印结果的时候,直接就使用
print
,但多次使用
print
会导致界面看起来很乱。python提供两种格式化输出的方法——
format
和
%
,本文会介绍两者的使用,但首推
format
。
目录
- Python格式化输出(format和%)
-
- 1. format 格式化输出
-
-
- 1.1 通过关键字格式化
- 1.2 通过位置格式化
- 1.3 填充和对齐^<>分别表示居中、左对齐、右对齐,后面带宽度
- 1.4 和精度一起使用
- 1.5 进制转化
- 1.6 千位分隔符
- 1.7 打印输出大括号`{}`
-
- 2. % 格式化输出
-
-
- 2.1 整数输出
- 2.2 浮点数输出
-
1. format 格式化输出
1.1 通过关键字格式化
print('{name} is {age} years old!'.format(name='xiaoming',age=10))
# 输出: xiaoming is 10 years old!
1.2 通过位置格式化
print('{0} is {1} years old'.format('xiaohua','21'))
# 输出: xiaohua is 21 years old
1.3 填充和对齐^<>分别表示居中、左对齐、右对齐,后面带宽度
print("{0:10}".format("0123456789"))
print('{0:^10}'.format('123'))
print('{0:>10}'.format('123'))
print('{0:<10}'.format('123'))
输出:
0123456789
123
123
123
1.4 和精度一起使用
print('{:.1f}'.format(4.234324525254))
print('{:.4f}'.format(4.1))
# 输出
4.2
4.1000
1.5 进制转化
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
1.6 千位分隔符
这种情况只针对与数字
print('{:,}'.format(100000000))
print('{:,}'.format(235445.234235))
# 输出
100,000,000
235,445.234235
1.7 打印输出大括号 {}
{}
# 保留{}
print("{{十步杀一人}},千里不留行.事了拂衣去,{{{0}}}.".format("深藏身与名"))
# 输出
十步杀一人,千里不留行.事了拂衣去,{深藏身与名}.
2. % 格式化输出
2.1 整数输出
%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
2.2 浮点数输出
- %f ——保留小数点后面六位有效数字
- %.3f ——保留小数点后面三位有效数字
- %e ——保留小数点后面六位有效数字,科学计数法输出
- %.3e ——保留3位小数位,科学计数法输出
- %g ——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
- %.3g保留3位有效数字,使用小数或科学计数法
完!