美文网首页程序员python简友广场
36.Python的字符串方法format

36.Python的字符串方法format

作者: 赵明嗯 | 来源:发表于2020-09-06 12:45 被阅读0次

上一篇我们介绍了字符串格式运算符%来设置值得显示格式,今天我们讲一讲通过format函数来设置字符串格式。在带格式的字符串中,我们通过花括号将要替换的字段括起来,然后调用format将要设置格式的值替换进去。替换字段包括三部分:字段名,转换标志,格式说明符。字段名可以是索引或者标识符或者为空,转换标志跟在叹号后面,r表示repr,s表示str,a表示ascii,格式说明符跟在冒号后面,包括格式类型,字段宽度,数的精度。这三部分都是可选的,即花括号可以为空。
下列代码示例是替换字段的三个部分都为空的情况,格式字符串中的字段和format中的参数按照在顺序进行配对。

>>> '{},{}'.format(1,3)
'1,3'

下列代码示例是替换字段的字段名为索引,其余两部分都为空的情况,格式字符串中的字段和format中的参数按照在索引顺序进行配对进行配对,索引为0的花括号对应第一个参数1,所以被替换为1,索引为1的花括号对应第二个参数3,所以被替换为3。

>>> '{1},{0}'.format(1,3)
'3,1'

下列代码示例是替换字段的字段名为标志符和字段名为索引的混合使用的情况。

>>> '{a},{0}'.format(3,a=1)
'1,3'

注意当字段名为标志符和字段名为索引的混合使用时,在format的参数中,要将索引对应的参数放在前面,标志符对应的参数放后面,即上述例子中3在前面,a=1放后面,如下是反例,编译器已经报错。

 '{a},{0}'.format(a=1,3)
SyntaxError: positional argument follows keyword argument

下列代码示例是替换字段的字段名和转换标志以及格式说明符的使用。“ab”的原始字符串样子就是'ab',其str转换的样式是ab,二者在表示含有反斜杠的字符串时差别会比较明显。由于ab都是ASCII可以表示的字符,所以可以显示出来。

>>> '{a!r},{a!s},{a!a},{0:.3f}'.format(3,a="ab")
"'ab',ab,'ab',3.000"

下面的例子ASCII就表示不了了,所以显示的是Unicode码。

>>> '{a!r},{a!s},{a!a},{0:.3f}'.format(3,a="照")
"'照',照,'\\u7167',3.000"
>>> '{a!r},{a!s},{a!a},{0:.3f}'.format(3,a="☑")
"'☑',☑,'\\u2611',3.000"

上面讲了转换标志,下面再说一下格式说明符。下列代码示例是演示了格式说明符中的格式类型为f,宽度为6,精度为小数点后三位的情形。

>>> '{a:6.3f}'.format(a=3)
' 3.000'

注意上例中' 3.000'最前面是一个填充空格,正好六个字符的宽度。而下面的例子中宽度设置失效,因为精度加上小数点已经超过了设置的宽度。

>>> '{a:3.3f}'.format(a=3)
'3.000'

下面是在格式字符串中添加数字的千位分隔符的示例。

>>> '{a:15,}'.format(a=1000000000)
'  1,000,000,000'

当同时需要设置精度与宽度和千位分隔符时,千位分隔符在表示宽度的数字和表示精度的小数点之间。

'{a:19,.5f}'.format(a=1000000000.0000665005)
'1,000,000,000.00007'

相关文章

  • 36.Python的字符串方法format

    上一篇我们介绍了字符串格式运算符%来设置值得显示格式,今天我们讲一讲通过format函数来设置字符串格式。在带格式...

  • 二级Python小知识点——格式化输出-format()方法

    格式化输出——format()方法 字符串format()方法的语法格式如下: <模板字符串>.format(<逗...

  • Python--字符串函数方法全解

    format() 方法基本使用 使用方法:<模板字符串>.format(<逗号分隔的参数>) format() 方...

  • [Java初探04.1]——格式化字符串

    String 类的静态方法format()方法用于创建格式化字符串,format()方法有两种重载形式: form...

  • Python笔记

    字符串格式化调用方法 —— format 通过创建字符串模板,利用format函数,替代相应的值。 可以通过绝对位...

  • java占位符使用

    一、String类的format() String类的format()方法用于创建格式化的字符串以及连接多个字符串...

  • JAVA字符串格式化

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。format(String fo...

  • string.Format()方法

    string.Format()方法可以以参数的形式完成字符串例如:string sql=string.Format...

  • format()函数

    python中format函数用于字符串的格式化 通过关键字 通过位置 format()方法格式控制 format...

  • Java的String.format的一些用法

    【原文参考链接】 String.format()方法使用说明JAVA字符串格式化-String.format()的...

网友评论

    本文标题:36.Python的字符串方法format

    本文链接:https://www.haomeiwen.com/subject/jwafektx.html