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'
no copyright !! 个人原创博客欢迎转载,可以不保留出处。