Python全栈day14(字符串格式化)
一,%字符串格式化
1,使用%s 后面一一对应输入对应的字符串,%s可以接受任何参数
print ("I am %s hobby is zhangsan"%'lishi')
print ("I am %s hobby is %s"%('lishi','zhangsan'))
I am lishi hobby is zhangsan
I am lishi hobby is zhangsan
2,%d只能接受数字
msg = "I am %s my age is %d"%('lishi',18) print(msg) I am lishi my age is 18
3,浮点数格式化
tp1 = "percent %f" %99.97623 print(tp1) percent 99.976230
4,默认保留小数点后六位,指定保留位数打印
tp1 = "percent %.2f" %99.97623 print(tp1) percent 99.98
5,如果需要打印%输入两个%即可
tp1 = "percent %.2f%%" %99.97623 print(tp1) percent 99.98%
6,使用键值
tp1 = "I am %(name)s %(age)d" %{"name":"zhangsan","age":18} print(tp1) I am zhangsan 18
7,可选 + 右对齐 -左对齐 (用途少,还可以加颜色)
tp1 = "I am %(name)-30s %(age)d" %{"name":"zhangsan","age":18} print(tp1) I am zhangsan 18
9,拼接
print('1','2','3',sep=':') 1:2:3
二,format字符串格式化
前面使用{}后面必须一一对应
tp1 = "I am {},age is {}".format('zhangsan',18) print(tp1) I am zhangsan,age is 18
{}里面加入数字,数字取值为0开始的整数,按照索引取值
tp1 = "I am {1},age is {0}".format('zhangsan',18) print(tp1) I am 18,age is zhangsan
可以不一一对应但是索引值不能超过索引的位数
tp1 = "I am {1},age is {1}".format('zhangsan',18) print(tp1) I am 18,age is 18
使用字典形式
tp1 = "I am {name},age is {age}".format(name = 'zhangsan',age = 18) print(tp1) I am zhangsan,age is 18
也可以使用**接一个字典
tp1 = "I am {name},age is {age}".format(**{'name':'zhangsan',"age":18}) print(tp1) I am zhangsan,age is 18
使用索引
tp1 = "I am {0[0]},age {0[1]},really {0[2]}".format([1,2,3],[11,22,33]) print(tp1) I am 1,age 2,really 3
使用:s :d :f的格式
tp1 = "I am {:s},age {:d},money {:f}".format('zhangsan',18,888888.8) print(tp1) I am zhangsan,age 18,money 888888.800000
使用*加列表传递(必须要加*号)
tp1 = "I am {:s},age {:d}".format(*['zhansan',18]) print(tp1) I am zhansan,age 18
数字格式b二进制 o八进制 d十进制 x小写16进制 X大写16进制 %转换成百分百默认保留小数后六位
tp1 = "number: {:b},{:o},{:d},{:x},{:X},{:%}".format(15,15,15,15,15,15.87623) print(tp1) number: 1111,17,15,f,F,1587.623000%