4.python字符串格式化
Posted 西西
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.python字符串格式化相关的知识,希望对你有一定的参考价值。
格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。Python用一个tuple将多个值传递给模板,每个值对应一个格式符。
python的字符串格式化有两种方式
方式一:%百分号方式
1.语法:
%[(name)][flags][width].[precision]typecode
2.常用格式化:
(1)传单个值(%s可以接收任何类型值)
tpl="i am %s" % "xixi" print (tpl)
输出:
i am xixi
2
(2)传多个值
tpl=‘i am %s my hobby is %s‘ % (‘xixi‘,‘xi‘) print(tpl)
输出:
i am xixi my hobby is xi
(3)%d只能传数字
name=‘xixi‘ age=77 tpl=‘i am %s my hobby is %s‘ % (name,age) print(tpl)
变量name=‘xixi‘,age=77通过%s添加名字,%添加77输出:
i am xixi my hobby is 77
(4)根据键拼接字符串%()s %()d传字典
tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18} print(tpl)
通过传值方式把alex和18以key值%(name)s,value值%(age)d的方式传值打印:
i am alex age 18
(5)打印浮点数percent %.2f
tpl = "percent %.2f" % 99.976234444444444444 print(tpl)
打印小数点后面俩位(四舍五入)输出:
percent 99.98
(6)%%打印百分号
tpl = ‘percent %.2f %%‘ % 99.976234444444444444 print(tpl)
打印小数点后面两位的百分百输出:
percent 99.98
(6)%%打印百分号
tpl = ‘percent %.2f %%‘ % 99.976234444444444444 print(tpl)
打印小数点后面两位的百分百输出:
percent 99.98 %
(7)给字符串加分隔符sep=‘‘
print(‘root‘,‘x‘,‘0‘,‘0‘,sep=‘:‘)
输出:
root:x:0:0
方式二:format方式
1.语法
它通过{}和:来代替%。
“映射”示例
2.常用格式化:
(1)format正常传值(必须是一一对应的关系)
tpl = "i am {}, age {}" .format("seven",18) print(tpl)
输出:
i am seven, age 18
(2)按照索引方式取值
tpl = "i am {2}, age {1}, {0}" .format("seven",18,‘alex‘) print(tpl)
输出:
i am alex, age 18, seven
(3)按照元祖的方式取值:
tpl = "i am {0}, age {0}" .format("seven") print(tpl)
输出:
i am seven, age seven
(4)按字典形式传值:
方式1:
tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18) print(tpl)
打印:
i am seven, age 18, really seven
方式2:**把字典的第一个键值对取出来转换成形式传值
tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) print(tpl)
打印:
i am seven, age 18, really seven
(5)按列表方式传值:
tpl = "i an {0[0]},age{0[1]},really {0[2]}".format([1,2,3]) print(tpl)
打印:0[0]代表取元祖第一个元素的第一个小列表的1
i an 1,age2,really 3
(6)按字符串方式传值::s类似%s,:d代表int类型,:f代表浮点类型
tpl = "i am {:s}, age {:d},money {:f}".format("seven",77,777.7) print(tpl)
打印:
i am seven, age 77,money 777.700000
(7)*把列表里边的元素遍历出来按列表方式传值
tpl = "i am {:s}, age {:d}".format(*["seven",18]) print(tpl)
打印:
i am seven, age 18
以上是关于4.python字符串格式化的主要内容,如果未能解决你的问题,请参考以下文章