天天看点

python字符串格式化_Python基础:字符串格式化--完整版

上一期精简版介绍了Python的字符串格式化输出的常用的三种方式:使用字符串格式设置运算符——百分号%

使用字符串方法 format

使用 f 字符串

这期将完整介绍字符串输出格式化的内容,如果不是很清楚的话,可以先看回前面精简版的内容。这里的基本思想是对字符串调用方法 format ,并提供要设置其格式的值。

一、替换字段名

(一)用提供的值去替换{}

可混合使用命名参数、未命名参数和索引,见例子,建议自己敲一遍:

(二)使用提供的值的组成部分替换{}

看起来很懵逼,但看了下面的例子就又可以天马行空了,通过索引访问列表的元素:

其实还可以访问模块的变量或方法,看例子:

二、基本转换

看图片最有力量:

通俗的说,!s就是输出外观普通的字符串版本,也就是我们平常print(string)那种版本;

!r版本就是输出Python表示的原生字符串版本,也就是我们用Python声明字符串带引号的那样的版本;!a很明显就是输出字符在ASCII中的十六进制的码点。

三、将指定要转换的值视为哪种类型

例如,你可能想把一个整数输出为浮点数(小数)、二进制数、八进制数、十六进数等等。那么就可以在格式说明符即冒号后面加上f、b、o、x等类型说明符。有图有真相:

其他常用类型说明符:

四、宽度、精度和千位分隔符

宽度、精度和千位分隔符经常用于数字处理上,精度也可以用于其他数据类型,比如字符串,但很少使用。设置宽度的方法是在格式说明符即冒号后面写上宽度(整数形式);设置精度就在精度前面加上.(实心点);设置千位分隔符直接格式说明符即冒号后面添加,(逗号)即可。无图无真相:

五、正负号、对齐和用0填充

在指定宽度和精度的数前面,可添加一个标志。这个标志可以是零、加号、减号、空格、<、>、^,其中零表示使用0来填充数字,加号表示在正数前面添加“+”号,<表示左对齐,>表示右对齐,^表示居中对齐。直接上图:

好了,到这里,字符串输出格式的大部分内容你已经掌握了。更多资源可到公众号Python孙行者获取好玩的Python项目。