Python从入门到项目实践(超值版)
上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】位置对应。