作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!
在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。
%模板
定义
格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。
例子
print("I'm %s. I'm %d year old" % ('Vamei', 99))
a = "I'm %s. I'm %d year old" % ('Vamei', 99)
print(a)
print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99})
格式符
格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:
%s 字符串 (采用str()的显示) %r 字符串 (采用repr()的显示) %c 单个字符 %b 二进制整数 %d 十进制整数 %i 十进制整数 %o 八进制整数 %x 十六进制整数 %e 指数 (基底写为e) %E 指数 (基底写为E) %f 浮点数 %F 浮点数,与上相同 %g 指数(e)或浮点数 (根据显示长度) %G 指数(E)或浮点数 (根据显示长度) %% 字符"%"
Format模板
定义
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。
例子
1 s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白', 33, 'girl', '太白')
2 print(s)
1 s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('太白', 33, 'girl')
2 print(s)
1 s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=19, name='太白', hobby= 'girl')
2 print(s)