
上QQ阅读APP看书,第一时间看更新
3.4 字符串格式化进阶——format
Python的字符串格式化主要有两种方式:%格式符方式和format方式。在3.3节中已经介绍了%格式符方式,那么在本节中将主要学习format()方法,通过一些实例来加深读者对format()方法的了解。
3.4.1 format()方法

从Python 2.6开始,新增了一个格式化字符串的函数format(),它增强了字符串格式化的功能。
相对于前面学到的基础的格式化方法,此方法通过{}和:来代替传统%格式化方式。format()既能够用于简单的场景,也能够胜任复杂的字符串替换,而无需烦琐的字符串连接操作。Python的内置类型str和unicode均支持使用format()来格式化字符串。
接下来就详细地讨论format()的具体用法。
其格式化方法格式如下:

其参数含义如下。
- fill:可选项,用于填充空白处的字符。
- align:选项,定义对齐的方式。通常和参数width一起使用,其方式定义如下。
- ◆ <:采用左对齐方式。
- ◆ >:采用右对齐方式,此方式为默认采用的方式。
- ◆ =:采用右对齐,且将符号位放在填充字符的左侧,只对数字类型有效。
- ◆ ^:进行居中对齐。
- sign:可选项,决定数字符号相关。
- ◆ +:正号表示正数加正号,负数加负号。
- ◆ -:正数符号不变,负数加上负号,此方式为默认采用的方式。
- ◆ 空格:正数加空格,负数加负号。
- #:可选项,显示进制,如果对二进制、八进制、十六进制加上#,会显示0b/0o/0x,否则不显示。
- ,:可选项,用于给数字添加数学分隔符,例如40,000。
- width:可选项,格式化占有宽度。
- .precision:可选项,指定小数点要保留的精度。
- type:可选项,格式化类型符号。
3.4.2 format()方法的实例

format()函数采用{}和:进行格式化,实例如下。
【例3-28】填充和格式化。

【例3-29】精度与进制。

format()允许参数位置可以自由化,通过相应的参数值来进行对应,实例如下。
【例3-30】位置对应。
