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