字符串格式化
—————————————————————————————————————————————————————
一、百分号方式
#%s用于接收str格式,但数字,列表也能接收
msg='i am %s my hobby is %s' % ('lhf','alex')
print(msg)
运行结果:
i am lhf my hobby is alex
msg='i am %s my hobby is %s' % ('lhf',1)
print(msg)
运行结果:
i am lhf my hobby is 1
msg='i am %s my hobby is %s' % ('lhf',[1,2])
print(msg)
运行结果:
i am lhf my hobby is [1, 2]
#%d只能接收数字
msg='i am %s my hobby is %d' % ('lhf',1)
print(msg)
运行结果:
i am lhf my hobby is 1
name='lhf'
age=19
msg='i am %s my hobby is %s' % (name,age)
print(msg)
运行结果:
i am lhf my hobby is 19
#打印浮点数 2表示小数点后保留2位
tpl = "percent %.2f" % 99.976234444444444444
print(tpl)
运行结果:
percent 99.98
#打印百分比
tpl = 'percent %.2f %%' % 99.976234444444444444
print(tpl)
运行结果:
percent 99.98 %
#用字典格式传
tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}
print(tpl)
运行结果:
i am alex age 18
#+:右对齐 -:左对齐 空格:右对齐 0:右对齐
#+60表示右对齐60格
msg='i am %(name)+60s my hobby is alex' %{'name':'lhf'}
print(msg)
运行结果:
i am lhf my hobby is alex
#加颜色,颜色由43这个位置控制
msg='i am 33[43;1m%(name)+60s 33[0m my hobby is alex' %{'name':'lhf'}
print(msg)
运行结果:
i am lhf my hobby is alex
print('root','x','0','0',sep=':')
运行结果:
root:x:0:0
—————————————————————————————————————————————————————
二、format方式
tpl = "i am {}, age {}, really {}".format("seven",18,'alex')
print(tpl)
运行结果:
i am seven, age 18, really alex
tpl = "i am {2}, age {1}, really {0}".format("seven",18,'alex')
print(tpl)
运行结果:
i am alex, age 18, really seven
tpl = "i am {1}, age {1}".format("seven",18,'alex')
print(tpl)
运行结果:
i am 18, age 18
tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
print(tpl)
运行结果:
i am seven, age 18, really seven
tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
print(tpl)
运行结果:
i am seven, age 18, really seven
tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1,2,3],[11,22,33])
print(tpl)
运行结果:
i am 1, age 2, really 3
tpl = "i am {:s}, age {:d},money {:f}".format("seven", 18,88.88)
print(tpl)
运行结果:
i am seven, age 18,money 88.880000
tpl = "i am {:s}, age {:d}".format(*["seven", 18])
print(tpl)
运行结果:
i am seven, age 18
l=["seven", 18]
tpl = "i am {:s}, age {:d}".format(*l)
print(tpl)
运行结果:
i am seven, age 18
#b:二进制 o:八进制 d:整型 x:十六进制(小写) X:十六进制(大写) %:显示百分比(默认小数点后6位)
tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%},{}".format(15, 15, 15, 15, 15, 15.87623, 2)
print(tpl)
运行结果:
numbers: 1111,17,15,f,F, 1587.623000%,2