Tutorial Study Image

Python format()

Python 中的 format() 函数有助于用占位符替换字符串。占位符使用花括号({})定义。最后,返回格式化后的字符串作为输出。

template.format(p0, p1, ..., k0=v0, k1=v1, ...) #Where p&k are either a list of values or combination of both 

format() 参数

format() 函数可以接受任意数量的参数,但它会分为两个部分。

1. 位置参数 - 花括号 {index} 内的参数列表,可以通过参数的索引访问。

2. 关键字参数 - 花括号 {key} 内的参数列表,可以通过参数的键访问,例如 type key=value

这里的“模板”是格式代码与参数占位符的组合。

参数 描述 必需/可选
p0, p1,... 位置参数 必需
k0, k1,...v0, v1,... 带值的关键字参数 必需

format() 返回值

此方法的返回值为字符串。我们还可以使用以下格式说明符来格式化数字:

d - 十进制整数
c - 对应的 Unicode 字符
b - 二进制格式
o - 八进制格式
x - 十六进制格式(小写)
X - 十六进制格式(大写)
n - 与 'd' 相同,但使用当前区域设置作为数字分隔符
e - 指数表示法(小写 e)
E - 指数表示法(大写 E)
f - 显示定点数(默认:6)
F - 与 'f' 相同,但将 'inf' 显示为 'INF',将 'nan' 显示为 'NAN'
g - 通用格式,将数字四舍五入到 p 位有效数字(默认精度:6)
G - 与 'g' 相同,但如果数字很大则切换到 'E'
% - 百分比。乘以 100 并在末尾添加 %。

使用对齐方式也可以进行数字格式化

< - 左对齐
^ - 居中对齐
> - 右对齐
= - 强制将符号 (+) (-) 置于最左侧位置

输入 返回值
字符串 格式化字符串

Python 中 format() 方法的示例

示例 1:format() 如何处理默认、位置和关键字参数?


# default arguments
print("Hii {}, your balance is {}.".format("Jhon", 500.322))

# positional arguments
print("Hii {0}, your balance is {1}.".format("Jhon", 500.322))

# keyword arguments
print("Hii {name}, your balance is {blc}.".format(name="Jhon", blc=500.322))

# mixed arguments
print("Hii  {0}, your balance is {blc}.".format("Jhon", blc=500.322))

 

输出


Hello Jhon, your balance is 500.322.
Hello Jhon, your balance is 500.322.
Hello Jhon, your balance is 500.322.
Hello Jhon, your balance is 500.322.

示例 2:如何进行数字格式化?


# integer arguments
print("The number is:{:d}".format(567))

# float arguments
print("The float number is:{:f}".format(567.5634278))

# octal, binary and hexadecimal format
print("bin: {0:b}, oct: {0:o}, hex: {0:x}".format(12))
 

输出


The number is: 567
The number is: 567.5634278
bin: 1100, oct: 14, hex: c

示例 3:如何使用填充和对齐进行字符串格式化?


# string padding with left alignment
print("{:5}".format("abc"))

# string padding with right alignment
print("{:>5}".format("abc"))

# string padding with center alignment
print("{:^5}".format("abc"))

# string padding with center alignment
# and '*' padding character
print("{:*^5}".format("abc"))
 

输出


abc  
  abc
 abc 
*abc*

示例 4:如何使用 format() 截断字符串?


# truncating strings to 3 letters
print("{:.3}".format("caterpillar"))

# truncating strings to 3 letters
# and padding
print("{:5.3}".format("caterpillar"))

# truncating strings to 3 letters,
# padding and center alignment
print("{:^5.3}".format("caterpillar"))
 

输出


cat
cat  
 cat