Python_50字符串格式化

字符串一经创建即在内存中存在,修改之后在内存中会重新创建

Python字符串格式化方式有两种:百分号方式(老旧 功能少)    format方式(功能多 新颖 支持多)

f='i am %s %d' % ('lili',18)
print (f)
输出
————————————————————————————————————
i am lili 18

以上前两个%是占位符号   第三个 % 是表示连接符号

%[(name)]typecode

f='i am %(n1)s %(n2)d' % {'n1':'lili','n2':18}
print (f)
输出
————————————————————————————————————
i am lili 18

%[(name)][flags][width]typecode

flags : +右对齐,正数前加+号   负数前加-号;      -:左对齐 正数前无符号   负数前加-号;   空格:右对齐 正数前加空格 负数前加负号;     0:右对齐 正数前无符号   负数前加负号   用0填补空白;

width:整数 代表宽度

f='i am %(n1)+10s %(n2)+d' % {'n1':'lili','n2':18}
print (f)
输出——————————————————————————————
i am       lili +18
f='i am %(n1)+10s %(n2)+10f' % {'n1':'lili','n2':1.2}
print (f)
输出
————————————————————————————————————————
i am       lili  +1.200000
f='i am %(n1)+10s %(n2)+10.2f' % {'n1':'lili','n2':1.2}
print (f)
输出
————————————————————————————————————————
i am       lili      +1.20

 

%后边可以跟 s d f  r  c  o  x  e E F g G  %

常用的  %s  %d   %f    %%

 

format方式

[[fill]align][sgin][#][0][width][,][.precision][type]

 

type的种类有:d f s e E g G  %

例子:

tp='i am {}, age {} , {}'.format('seven',18,'ggggg')
print (tp)
输出————————————————————————————————————
i am seven, age 18 , ggggg

tp='i am {}, age {} , {}'.format(*['seven',18,'ggggg'])  #* 的意思就是把后边的参数依次格式化到前边对应的位置去
print (tp)
输出——————————————————————————————————————————————————
i am seven, age 18 , ggggg

tp='i am {0}, age {1} , {0}'.format(*['seven',18,'ggggg'])  #可以添加列表的索引
print (tp)
输出————————————————————————————————————————————
i am seven, age 18 , seven

tp='i am {name}, age {nianling} , {zhuzhi}'.format(name='zhangsna',nianling=19,zhuzhi='bejingshi')#以关键字的形式输出
print (tp)
输出——————————————————————————————————————————————————————————————————————————————
i am zhangsna, age 19 , bejingshi
tp='i am {name}, age {nianling} , {zhuzhi}'.format(**{'name':'zhangsna','nianling':19,'zhuzhi':'bejingshi'})#以字典的形式自动输出
print (tp)
输出——————————————————————————————————————————————————————————————————————————————
i am zhangsna, age 19 , bejingshi
tp='i am {0[0]}, age {0[1]} , {1[0]}'.format(['liangpi','roujiamo','caozimiao'],['hulatang','baozi','youmo'])#前边的数字   第一个表示第几个列表  第二个表示列表的第几个元素
print (tp)
输出————————————————————————————————————————————————————————————
i am liangpi, age roujiamo , hulatang
tp='i am {:s}, age {:d} ,money {:.2f}'.format('liangpi',18,15)#这个就是按顺序分别对应的表示
print (tp)
输出——————————————————————————————————————————————————————————————————————————————————
i am liangpi, age 18 ,money 15.00
tp='i am {name:s}, age {nianling:d} ,money {qian:.2f}'.format(name='liangpi',qian=18,nianling=15)#这个就好比对号入座了
print (tp)
输出————————————————————————————————————————————————————————
i am liangpi, age 15 ,money 18.00


 

posted on 2018-04-12 15:41  JuGooLar  阅读(135)  评论(0编辑  收藏  举报

导航