Python format格式化字符串

Python format格式化字符串教程

Python 中,可以使用 print() 函数对 字符串 进行格式化输出,除此之外,如果我们仅仅想格式化字符串,Python 还为我们提供了另外一个方法,就是 format() 函数。

format() 函数是通过 {}: 来代替 print() 函数中使用的 %

Python format()函数详解

语法

S.format(args) -> str

参数

参数 描述
S 格式化字符串的样式。
args 用于指定要进行格式转换的项,如果有多项,之间有逗号进行分割。

返回值

格式化后返回的字符串。

format()函数格式详解

语法

{ [index][ : [ [fill] align] [sign] [#] [width] [.precision] [type] ] }

说明

格式中用 [] 括起来的参数都是可选参数,即可以使用,也可以不使用。

参数

参数 描述
index 指定:后边设置的格式要作用到 args 中第几个数据,数据的索引值从 0 开始。如果省略此选项,则会根据 args 中数据的先后顺序自动分配。
fill 指定空白处填充的字符。注意,当填充字符为逗号(,)且作用于整数或浮点数时,该整数(或浮点数)会以逗号分隔的形式输出,例如(1000000会输出 1,000,000)。
align 指定数据的对齐方式。
sign 指定有无符号数。
width 指定输出数据时所占的宽度。
.precision 指定保留的小数位数。
type 指定输出数据的具体类型。

align对齐方式

align 含义
< 数据左对齐。
> 数据右对齐。
= 数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效。
^ 数据居中,此选项需和 width 参数一起使用。

sign符号

sign参数 含义
+ 正数前加正号,负数前加负号。
- 正数前不加正号,负数前加负号。
空格 正数前加空格,负数前加负号。
# 对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x 前缀;反之则不显示前缀。

type

type类型值 含义
s 对字符串类型格式化。
d 十进制整数。
c 将十进制整数自动转换成对应的 Unicode 字符。
e 或者 E 转换成科学计数法后,再格式化输出。
g 或 G 自动在 e 和 f(或 E 和 F)中切换。
b 将十进制数自动转换成二进制表示,再格式化输出。
o 将十进制数自动转换成八进制表示,再格式化输出。
x 或者 X 将十进制数自动转换成十六进制表示,再格式化输出。
f 或者 F 转换为浮点数(默认小数点后保留 6 位),再格式化输出。
% 显示百分比(默认显示小数点后 6 位)。

案例

格式化字符串

使用 format() 函数,格式化字符串

print("嗨客网(www.haicoder.net)") # 使用 format() 函数,格式化字符串 strHaiCoder = "{}, {}".format("Hello", "HaiCoder") print("strHaicoder =", strHaiCoder)

程序运行后,控制台输出如下:

89 python格式化字符串.png

首先,我们定义了需要格式化的字符串的格式为 “{}, {}”,即两个字符串之间加一个逗号,接着我们再将待格式化的两个字符串传入 format 函数。

最后,使用 print() 函数,打印最后格式化后的字符串。

格式化字符串,指定位置

使用 format() 函数,格式化字符串,指定位置

print("嗨客网(www.haicoder.net)") # 使用 format() 函数,格式化字符串,指定位置 strHaiCoder = "{1}, {0}".format("HaiCoder", "Hello") print("strHaicoder =", strHaiCoder)

程序运行后,控制台输出如下:

90 python格式化字符串.png

首先,我们定义了需要格式化的字符串的格式为 “{1}, {0}”,即两个字符串之间加一个逗号,同时,我们指定了格式化字符串的顺序,把第二个字符串放在第一个位置,第一个字符串,放在第二个位置,接着我们再将待格式化的两个字符串传入 format 函数。

最后,使用 print() 函数,打印最后格式化后的字符串。

格式化字符串,指定位置

使用 format() 函数,格式化字符串,指定位置

print("嗨客网(www.haicoder.net)") # 使用 format() 函数,格式化字符串,指定位置 strHaiCoder = "{1}, {0}, {1}".format("HaiCoder", "Hello") print("strHaicoder =", strHaiCoder)

程序运行后,控制台输出如下:

91 python格式化字符串.png

首先,我们定义了需要格式化的字符串的格式为 “{1}, {0}, {1}”,我们指定了格式化字符串的顺序,第二个字符串,第一个字符串,第二个字符串,接着我们再将待格式化的两个字符串传入 format 函数。

最后,使用 print() 函数,打印最后格式化后的字符串。

Python format格式化字符串总结

Python 的 format() 函数格式化字符串,是通过 {}: 来代替 print() 函数中使用的 %。Python format() 函数语法:

S.format(args) -> str