1.format()方法
表格中数字后面的 d
、f
和 s
是格式限定符,用于指定格式化字符串时数据的类型和显示方式。以下是它们的具体解释:
①d(十进制整数):
- 用于格式化整数。
- 例如:
"{:5d}".format(24)
表示输出的整数宽度为 5,不足的部分用空格填充。- 在示例
"{:4d}".format(24879)
中,由于数字 24879 的宽度超过 4,所以输出全部内容。
②f(浮点数):
- 用于格式化浮点数。
- 例如:
"{:.2f}".format(1.2449)
表示保留 2 位小数。- 在示例
"{:6.2f}".format(1.2449)
中,宽度为 6,保留 2 位小数,不足的部分用空格填充。
③s(字符串):
- 用于格式化字符串。
- 例如:
"{:9s}".format("hello")
表示字符串的宽度为 9,不足的部分用空格填充,默认左对齐。- 在示例
"{:>9s}".format("hello")
中,字符串的宽度为 9,不足的部分用空格填充,并且右对齐。
这些格式限定符是 Python 中字符串格式化的一部分,用于控制输出的格式,使输出更加整齐和符合要求。
图版权归zju计算机学院所有
例如
name = "Alice"
age = 30
print("Name: {}, Age: {}".format(name, age))
可以使用位置参数和关键字参数:
- 位置参数(Positional Arguments):按照函数定义中的位置顺序传递的参数。
- 关键词参数(Keyword Arguments):通过参数名传递的参数,提供了显式的名称和值对。
print("Name: {0}, Age: {1}".format(name, age))
print("Name: {name}, Age: {age}".format(name=name, age=age))
但是注意,位置参数必须在关键词参数之前
def func(a, b, c):
print(f"a={a}, b={b}, c={c}")
# 正确的调用
func(1, 2, c=3) # a=1, b=2, c=3
func(a=1, b=2, c=3) # a=1, b=2, c=3
func(1, b=2, c=3) # a=1, b=2, c=3
# 错误的调用
func(a=1, 2, 3) # 语法错误:位置参数必须在关键词参数之前
2. f字符串(f-strings)
最简洁,高效
例如
name = "Alice" age = 30 print(f"Name: {name}, Age: {age}")
花括号{}内支持表达式 运算
print(f"Next year, {name} will be {age + 1} years old.")
可以指定格式:
pi = 3.141592653589793
print(f"Pi is approximately {pi:.2f}")
3.Template
类
string
模块中的 Template
类提供了一种简单的模板机制。
from string import Template
t = Template('Name: $name, Age: $age')
print(t.substitute(name='Alice', age=30))
适用于需要更复杂模板处理的场景:
t = Template('The value is $$${value}') print(t.substitute(value=100))
4.百分号 %
格式化
这是最早期的字符串格式化方法,类似于C语言的printf
。
常用的格式化符号:
%s
:字符串%d
:整数%f
:浮点数%%
:百分号本身
例如:
name = "Alice"
age = 30
print("Name: %s, Age: %d" % (name, age))
未经允许 不得转载
如有错误 敬请指正