- %s 针对字符类型
- %d 针对整数类型
- %f 针对浮点数类型
foo, foo1 = 'bar', 23.5;
print("hello world, %s"%(foo))
print("hello world, %s, %f"%(foo, foo1))
当使用表1中的转换说明符时,可以使用下面的格式指定最小输出宽度(至少占用多少个字符的位置):
%10d 表示输出的整数宽度至少为 10;
%20s 表示输出的字符串宽度至少为 20。
n = 1234567
print("n(10):%10d." % n)
print("n(5):%5d." % n)
url = "python"
print("url(10):%10s." % url)
print("url(5):%s." % url)
运行结果
n(10): 1234567.
n(5):1234567.
url(10): python.
url(5):python.
对于小数(浮点数),print() 还允许指定小数点后的数字位数,也即指定小数的输出精度。
精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。具体格式如下
f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)
不需要特别指定格式,
name="bai"
age=20
print("姓名:{},年龄:{}岁".format(name,age))
一般情况下,{}是按照索引选择format后面地数据。
存在位置映射和关键字映射,也是按照索引地规则
#位置映射
print("{}:{}".format(1,2))
#1:2
#关键字映射
print("{name},{},{}".format(20,'汉',name='bai'))
#bai,20,汉
name="bai"
print(f"你好,我是{name}")
补充字符,代码实例如下:
方法一:
i = 3.141725
// 左边填充0,字符保留总共9位(包含小数点),小数点后保留4位,
print(f"-- {i: 0>9.4f}" )
// 右边填充0,字符保留总共9位(包含小数点),小数点后保留4位,
print(f"-- {i: 0<9.4f}" )
// 右边填充x,字符保留总共9位(包含小数点),小数点后保留4位,
print(f"-- {i: x<9.4f}" )
输出结果
-- 0003.1417
-- 3.1417000
-- 3.1417xxx
方法二:
字符串使用 zfill 函数进行补零操作
str = "123"
print(str.zfill(8))
// 输出: 00000123
方法三:
默认情况下,print() 输出的数据总是右对齐的。也就是说,当数据不够宽时,数据总是靠右边输出,而在左边补充空格以达到指定的宽度。Python 允许在最小宽度之前增加一个标志来改变对齐方式,Python 支持的标志如下:
几点说明:
n = 123456
# %09d 表示最小宽度为9,左边补0
print("n(09):%09d" % n)
# %+9d 表示最小宽度为9,带上符号
print("n(+9):%+9d" % n)
f = 140.5
# %-+010f 表示最小宽度为10,左对齐,带上符号
print("f(-+0):%-+010f" % f)
s = "Hello"
# %-10s 表示最小宽度为10,左对齐
print("s(-10):%-10s." % s)
输出结果
n(09):000123456
n(+9): +123456
f(-+0):+140.500000
s(-10):Hello .