python格式化输出
占位符%
会对输出的值转换为需要输出的类型,如果转换失败会报错
%s输出字符串,%d输出数字,%%输出%
var_1=123.1
var_2='abc'
var_3=(1,2,3)
print("字符串:%s"%'abc')
print("字符串:%s%%,\n输出换行"%var_1)
print("输出多个变量:%d\n%s\n%s"%(var_1,var_2,var_3))
输出结果:
字符串:abc
字符串:123.1%,
输出换行
输出多个变量:123
abc
(1, 2, 3)
format—推荐
语法:str.format()
var_2='abc'
print("字符串:{}".format(var_2)) #
在括号中的数字用于指向传入对象在 format() 中的位置
var_3=(1,2,3)var_4={"a":1,"b":2}
print("输出元组的第几个值:{0}\n输出字典某个key的值:{1}".format(var_3[1],var_4['a']))
#输出元组的第几个值:2
#输出字典某个key的值:1
print("输出元组的第几个值:{1}\n输出字典某个key的值:{0}".format(var_4['a'],var_3[1]))
#输出元组的第几个值:2
#输出字典某个key的值:1
print("输出元组的第2个值:{0[1]}".format(var_3)) #输出元组的第2个值:2
print("输出字典中a的值:{0[a]};b的值是{0[b]}".format(var_4)) #输出字典中a的值:1;b的值是2
print("依次输出元组的值:{0}|{1}|{2}".format(*var_3)) #依次输出元组的值:1|2|3
print(*var_3) #表示迭代输出,等同for i in var_3 print(i)
在 format() 中使用了关键字参数
var_3=(1,2,3)
var_4={"a":1,"b":2}
print("输出字典{dic},输出元组{tup}".format(dic=var_4,tup=var_3)) #输出字典{'a': 1, 'b': 2},输出元组(1, 2, 3)
输出内容对齐
var_3=(1,2,3)
print("输出元组的第几个值:{0[1]:*<10}".format(var_3)) #输出元组的第几个值:2*********
print("输出元组的第几个值:{0[1]:*>10}".format(var_3)) #输出元组的第几个值:*********2
print("输出元组的第几个值:{0[1]:*^10}".format(var_3)) #输出元组的第几个值:****2*****
format的变形
var_3=(1,2,3)
var_4={"a":1,"b":2}
print(f"输出变量:{var_3}") #输出变量:(1, 2, 3)
print(f"输出变量:{var_4['a']}") #输出变量:1
print(f"输出变量:{var_4['a']:*^10}") #输出变量:****1*****
format_map
语法:str.format_map(mapping),输入值是字典格式
var_4={"a":1,"b":2}
print("a的值是 {a},b的值是{b}".format_map(var_4)) #a的值是 1,b的值是2