字符串的格式化

format

类型 说明 示例说明
填充字符 不填时默认用空格填充 S表示用S填充
对齐方式 ^表示居中对齐、<表示左对齐、>表示右对齐 ^表示居中对齐,左右位数不足部分会用填充字符填充
符号标志 +表示有符号(正数前显示+,负数前显示-),空格表示整数前加一个空格以和负数对齐 +表示正数前显示空格
# 表示是否在二进制、八进制、十六进制前显示0b、0o、0x等符号 #表示显示进制符号,由于是十进制,所以不显示
宽度 表示输出字符串的宽度 16表示字符串宽度为16,不足部分会补齐
, 表示使用,作为千位分隔符 ,表示使用千位分隔符
精度 表示小数点后数字位数 .2表示精度为2为
类型 s表示字符串类型,
c表示字符类型,
b\o\d分别表示二八十进制,
xX表示小写和大写十六进制,
e\E表示小写和大写的科学记数法,
f表示浮点型
f表示浮点型数字
数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:>10d} 13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d} 13 中间对齐 (宽度为10)

实用输出

  1. In [1]: print('{:=^20}'.format('python'))
  2. Out[1]: =======python=======

动态进度条演示

  1. import time
  2. for i in range(101):
  3. a='*'*(i//5)
  4. b='.'*(20-i//5)
  5. print('\r{0:^3d}%[{1}->{2}]'.format(i,a,b),end='')
  6. time.sleep(0.1)

其他

strip 用于去除字符串前后的空格:

  1. In [1]: ' I love python\t\n '.strip()
  2. Out[1]: 'I love python'

replace 用于字符串的替换:

  1. In [2]: 'i love python'.replace(' ','_')
  2. Out[2]: 'i_love_python'

find 用于返回匹配字符串的起始位置索引:

  1. In [3]: 'i love python'.find('python')
  2. Out[3]: 7