4.python字符串格式化

2021-07-16 22:08

阅读:645

标签:real   pre   int   使用   模板   precision   size   key   eve   

格式化字符串时,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字符串格式化

标签:real   pre   int   使用   模板   precision   size   key   eve   

原文地址:https://www.cnblogs.com/xixi18/p/9533163.html


评论


亲,登录后才可以留言!