您的位置:

9. Python format()

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()函数可以接受任意数量的参数,但它将被分成两部分。

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

2.关键字参数-大括号{key}内的参数列表,可以使用类型为 key=value 等参数的关键字进行访问

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

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

格式()返回值

这里这个方法的返回值是一个字符串。我们也可以使用如下格式说明符来格式化数字

d -十进制整数 c -对应的 Unicode 字符 b -二进制格式 o -八进制格式 x -十六进制格式(小写) X-十六进制格式(大写) n -与“d”相同,只是它使用了数字分隔符 的当前区域设置 e-index 表示法。(小写 e) E -指数记数法(大写 E) f -显示定点数(默认值:6) F -与“F”相同,除了将“inf”显示为“INF”和将“nan”显示为“NAN” g-将数字四舍五入为 p 个有效数字的通用格式。(默认精度:6) G -与‘G’相同,但如果数字较大,则切换到‘E’。 % -百分比。乘以 100,将%放在最后。

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

< -   Left aligned  ^ -居中对齐

| 投入 | 返回值 | | 线 | 格式化字符串 |

Python 中format()方法的示例

示例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