1
Python编程从入门到实践
1.7.3.3 3.3.3 format()方法的基本使用
3.3.3 format()方法的基本使用

在字符串中整合变量时,需要使用字符串的格式化方法。字符串格式化用于解决字符串和变量同时输出时的格式安排问题。

Python语言推荐使用format()格式化方法,其使用方法如下:

<模板字符串>.format(<逗号分隔符的参数>)

其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的现实效果。槽用大括号{}表示,对应format()方法中逗号分隔的参数。如例3.22所示。

【例3.22】

>>>"{}曰:学而时习之,不亦说乎。".format("孔子")

'孔子曰:学而时习之,不亦说乎。'

如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应format()方法中的不同参数。如例3.23所示。

【例3.23】

>>>"{}曰:学而时习之,不亦说乎。".format("孔子","说乎")

'孔子曰:学而时习之,不亦说乎。'

format()方法中参数根据出现的先后存在一个默认序号,如图3-1所示。

图3-1 format()方法的槽顺序和参数顺序

可以通过format()参数的序号在模板字符串槽中指定参数的使用,参数从0开始编号,如图3-2和例3.24所示。

图3-2 format()方法的槽与参数的对应关系

【例3.24】

>>>"{1}曰:学而时习之,不亦{0}。".format("说乎","孔子")

'孔子曰:学而时习之,不亦说乎。'

如果字符串中出现槽的数量和format()方法中出现的变量数量不一致,即程序不能够通过简单的顺序对应确定变量使用,则必须在槽中使用序号置顶参数,否则会产生IndexError的错误,如例3.25所示。

【例3.25】

如果希望在模板字符串中直接输出大括号,使用{{表示{,}}表示}。如例3.26所示。

【例3.26】

>>>"{1}曰:{{学而时习之,不亦说乎{0}}}。".format("说乎","孔子")

'孔子曰:{学而时习之,不亦说乎说乎}。'