python中字符串格式化有两种,一种是%,另一种是str中的format()功能。

 

%

列举格式符

  %s    字符串

  %c    单个字符

  %b    二进制整数

  %d    十进制整数

  %i    十进制整数

  %o    八进制整数

  %x    十六进制整数

  %e    指数 (基底写为e)

  %E    指数 (基底写为E)

  %f    浮点数

  %F    浮点数,与上相同

  %g    指数(e)或浮点数 (根据显示长度)

  %%    字符"%"

 

举例:

#当今有一个格式符
name='dahuang'
print('%s is my dog'% name)
#结果为:
dahuang is my dog

#有两个或者两个以上格式符时,用tuple将多个值传给模版
name='dahuang'
obj='dog'
print('%s is my %s'%(name,obj))
#结果:
dahuang is my dog

#我们可以用字典对格式符命名
print("I'm %(name)s. I'm %(age)d year old" % {'name':'dahuang', 'age':6})
#结果:
I'm dahuang. I'm 6 year old

format()

format()通过{}来代替%

在{}内可以

通过位置映射:

#0,1为位置
>>> '{0},{1}'.format('kkk',123)  
'kkk,123'
#默认根据顺序格式化
>>> '{},{}'.format('kkk',123)
'kkk,123'
>>> '{1},{0}'.format('kkk',123) 
'123,kkk'

通过关键字映射:

>>>'{name},{age}'.format(age=15,name='liming')
'liming,15'

通过下标:

>>> li=['liming','xiaohong']
>>> '{0[0]},{0[1]}'.format(li)
'liming,xiaohong'

 

posted on 2016-04-28 22:23  MnCu  阅读(341)  评论(0编辑  收藏  举报