Python老男孩 day14 字符串格式化

                                                              字符串格式化

 —————————————————————————————————————————————————————
一、百分号方式

#%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)+60s33[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

原文地址:https://www.cnblogs.com/zhuhemin/p/9096347.html