基本用法

name = "Alice"
age = 25
print("My name is {} and I'm {} years old.".format(name, age))

在这个例子中,大括号 {} 作为占位符,format() 方法中的参数按照顺序填充到占位符的位置。

指定参数顺序

name = "Alice"
age = 25
print("My name is {1} and I'm {0} years old.".format(age, name))

通过在占位符中使用索引号,可以指定参数的顺序。在这个例子中,{1} 表示第二个参数 name{0} 表示第一个参数 age

指定参数名

name = "Alice"
age = 25
print("My name is {n} and I'm {a} years old.".format(n=name, a=age))

格式设置

value = 3.14159
print("The value is {:.2f}".format(value))

使用 : 可以进行进一步的格式设置。在这个例子中,:.2f 表示保留两位小数的浮点数格式。

对齐和填充

text = "Hello"
print("Left aligned: {:<10}".format(text))
print("Right aligned: {:>10}".format(text))
print("Center aligned: {:^10}".format(text))
print("Filled: {:_^10}".format(text))

通过使用 <>^ 可以对文本进行左对齐、右对齐和居中对齐。在这个例子中,{:<10} 表示左对齐,占位符长度为 10;{:>10} 表示右对齐;{:^10} 表示居中对齐;{:_^10} 表示在文本两侧填充下划线,使其长度为 10。

%格式化输出

name = "Tom"
age = 12
height = 1.83
print("My name is %s, I am %d years old, I am %.2f meters" % (name, age, height))

%精度控制

可以使用m.n来控制数据的宽度和精度

  • m,用来控制宽度,设置的宽度小于数字自身,不生效

  • n,用来控制小数点精度,要求是数字,会进行小数的四舍五入

示例:

%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成[空格][空格][空格]11,用三个空格补足宽度

%7.2f:表示将宽度控制为7,将小数点精度设置为2.小数点也算入宽度计算。如,对11.345设置了%7.2f后,结果是:[空格][空格][空格]11.35。两个空格补足宽度。

%.2f:表示不限制宽度,只是设置小数点精度为2,。