天天看点

Python格式化输出(format和%)Python格式化输出(format和%)

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位有效数字,使用小数或科学计数法

完!