赞
踩
使用方式:<模板字符串>.format(<逗号分隔的参数>)
1.不填顺序时默认一个个传入:
1.1一个参数进行处理时
- >>> '{}是我要处理的内容'.format('被处理的内容')
- '被处理的内容是我要处理的内容'
1.2多个参数进行处理时(这里要注意传入的数据类型可以是字符串在的其他类型)
- >>> '{},{},{}是我要处理的内容'.format('1',2.0,3)
- '1,2.0,3是我要处理的内容'
2.填入顺序是按照顺序传入(参数从0开始编号)
2.1按照指定顺序传入多个参数
- >>> '{2},{1},{0}是我要处理的内容'.format('1',2.0,3)
- '3,2.0,1是我要处理的内容'
2.2多个位置使用同一个参数
- >>> '{0},{0},{0}是我要处理的内容'.format('内容','别的内容它不管','所以写了也是白写')
- '内容,内容,内容是我要处理的内容'
- >>> '{0},{1},{0}是我要处理的内容'.format('内容','别的内容它不管','所以写了也是白写')
- '内容,别的内容它不管,内容是我要处理的内容'
3.一些出错情况
3.1没有传入参数
- >>> '{}是我要处理的内容'.format()
- Traceback (most recent call last):
- File "<pyshell#7>", line 1, in <module>
- '{}是我要处理的内容'.format()
- IndexError: tuple index out of range
3.2传入参数不足
- >>> '{0},{1},{4}是我要处理的内容'.format('内容','别的内容它不管','所以写了也是白写')
- Traceback (most recent call last):
- File "<pyshell#6>", line 1, in <module>
- '{0},{1},{4}是我要处理的内容'.format('内容','别的内容它不管','所以写了也是白写')
- IndexError: tuple index out of range
- >>> '{},{},{}是我要处理的内容'.format('1','2')
- Traceback (most recent call last):
- File "<pyshell#9>", line 1, in <module>
- '{},{},{}是我要处理的内容'.format('1','2')
- IndexError: tuple index out of range
1.1内容记忆
其中格式控制标记包括<填充><对齐><宽度><,><.精度>和<类型>等六个字段,由:作为引导符号,这些字段都是可以选择的,也可以组合使用,参数显示时的格式如下图所示:
这里以逗号为界限把它们分为两组:一组是<填充><对齐><宽度>;一组是<,><.精度>和<类型>;
【冒填对宽逗点类】
帽田对款豆点泪(谐音,一个戴着帽子的农民站在田地里对款,豆大的点点泪滴流下)
一组是<填充><对齐><宽度>;
3.1默认左对齐(此时宽度25)
- >>> s = '我最帅'
- >>> '{:25}'.format(s) #默认左对齐
- '我最帅 '
3.2指定宽度不足时以实际长度为准
- >>> '{:1}'.format(s) #指定宽度为一不足变量s的宽度4时的情况
- '我最帅'
3.3居中对齐写法
- >>> '{:^25}'.format(s) #居中对齐
- ' 我最帅 '
3.4右对齐写法
- >>> '{:>25}'.format(s) #右对齐
- ' 我最帅'
3.5居中且对齐用*填充;用+填充;用a填充;用你填充;
- >>> '{:*^25}'.format(s) #居中对齐星号填充
- '***********我最帅***********'
- >>> '{:+^25}'.format(s) #居中对齐+填充
- '+++++++++++我最帅+++++++++++'
- >>> '{:a^25}'.format(s) #居中对齐a填充
- 'aaaaaaaaaaa我最帅aaaaaaaaaaa'
- >>> '{:你^25}'.format(s) #居中对齐用你填充
- '你你你你你你你你你你你我最帅你你你你你你你你你你你'
3.6指定宽度不足的时候以变量宽度为准
- >>> '{:^1}'.format(s) #居中对齐4>1
- '我最帅'
3.7也可以用变量来表示控制标记
- >>> s = '等级考试'
- >>> y = '-'
- >>> '{0:{1}^25}'.format(s,y) #指定代表填充的是字符y
- '----------等级考试-----------'
- >>> '{0:{1}^{2}}'.format(s,y,25) #指定代表填充的是字符y,填充长度是25
- '----------等级考试-----------'
另一组是<,><.精度>和<类型>;
3.8逗号用于显示千位分隔符
- >>> '{:-^25,}'.format(1234567890)
- '------1,234,567,890------'
- >>> '{:-^25}'.format(1234567890) #对比
- '-------1234567890--------'
3.9<.精度>由小数点开头。
对于浮点数,精度表示小数部分输出的有效位数;(四舍五入了)
- >>> '{:.2f}'.format(12345.6789)
- '12345.68'
- >>> '{:>15.3f}'.format(12345.6789)
- ' 12345.679'
对于字符串,精度表示输出的最大长度;
- >>> '{:.5}'.format('我爱你的身体和灵魂')
- '我爱你的身'
- >>> '{:.25}'.format('我爱你的身体和灵魂')
- '我爱你的身体和灵魂'
3.9<类型>表示输出整数和浮点数类型的格式规则
对于整数类型,输出格式包括以下6种:
b:输出整数的二进制方式;
c:输出整数的对应unicode字符;
d:输出整数的十进制方式;
o:输出整数的八进制方式;
x:输出整数的小写十六进制方式;
X:输出整数的大写十六进制方式;
这里注意第一次的出错原因:
- >>> '{:b},{:c},{:d},{:o},{:x},{:X}'.format(425)
- Traceback (most recent call last):
- File "<pyshell#36>", line 1, in <module>
- '{:b},{:c},{:d},{:o},{:x},{:X}'.format(425)
- IndexError: tuple index out of range
- >>> '{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}'.format(425)
- '110101001,Ʃ,425,651,1a9,1A9'
对于浮点数类型,输出格式包括以下四种:
e:输出浮点数对应的小写字母e的指数形式;
E:输出浮点数对应的大写字母E的指数形式;
f:输出浮点数的标准浮点形式;
%:输出浮点数的百分比形式;
浮点数输出的时候要尽量用<.精度>表示小数部分的输出长度,有助于更好地控制输出格式。
实例
- >>> '{0:e},{0:E},{0:f},{0:%}'.format(3.14)
- '3.140000e+00,3.140000E+00,3.140000,314.000000%'
- >>> '{0:.2e},{0:.2E},{0:.2f},{0:.2%}'.format(3.14) #对比输出
- '3.14e+00,3.14E+00,3.14,314.00%'
一些常用的format()方法格式控制信息建议也了解下:
- >>> '{0:.2}'.format(3.1415926) #输出小数点后2位
- '3.1'
- >>> '{0:x}'.format(1010) #输出整数的十六进制形式
- '3f2'
- >>> '{:.5}'.format('你猜猜会输出几个字符呢') #输出字符串的前五位
- '你猜猜会输'
- >>> '{0:-^10}'.format('Python') #居中填充
- '--Python--'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。