2025年Python中format的应用【超级全】

Python中format的应用【超级全】format 用于解决字符串的格式化方法 使用方式 模板字符串 format 逗号分隔的参数 一 基本应用 1 不填顺序时默认一个个传入 1 1 一个参数进行处理时 gt gt gt 是我要处理的内容 format 被处理的内容 逗号分隔的参数 模板字符串

大家好,我是讯享网,很高兴认识大家。

format用于解决字符串的格式化方法。

使用方式:<模板字符串>.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.1内容记忆

format的方法的槽除了可以填入参数序号,还可以包括它这个序号所对应的格式化控制信息,语法格式如下:

{<参数序号>:<格式控制标记>}

其中格式控制标记包括<填充><对齐><宽度><,><.精度>和<类型>等六个字段,由:作为引导符号,这些字段都是可以选择的,也可以组合使用,参数显示时的格式如下图所示:


讯享网
槽中格式控制标记的字段​

这里以逗号为界限把它们分为两组:一组是<填充><对齐><宽度>;一组是<,><.精度>和<类型>;

2.图像记忆

【冒填对宽逗点类】

帽田对款豆点泪(谐音,一个戴着帽子的农民站在田地里对款,豆大的点点泪滴流下)

 

3实例

一组是<填充><对齐><宽度>;

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() '------1,234,567,890------' >>> '{:-^25}'.format() #对比 '---------------'

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) ',Ʃ,425,651,1a9,1A9'

对于浮点数类型,输出格式包括以下四种:

e:输出浮点数对应的小写字母e的指数形式;

E:输出浮点数对应的大写字母E的指数形式;

f:输出浮点数的标准浮点形式;

%:输出浮点数的百分比形式; 

浮点数输出的时候要尽量用<.精度>表示小数部分的输出长度,有助于更好地控制输出格式。

实例

>>> '{0:e},{0:E},{0:f},{0:%}'.format(3.14) '3.e+00,3.E+00,3.,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.) #输出小数点后2位 '3.1' >>> '{0:x}'.format(1010) #输出整数的十六进制形式 '3f2' >>> '{:.5}'.format('你猜猜会输出几个字符呢') #输出字符串的前五位 '你猜猜会输' >>> '{0:-^10}'.format('Python') #居中填充 '--Python--'

小讯
上一篇 2025-01-20 09:41
下一篇 2025-01-10 12:24

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/62937.html