格式字符串
python 使用一个字符串作为模板
模板中含有格式符,为真实值预留位置
使用tuple或者字典来传递值
模板和值之间,用 % 来表示格式化操作
例子:
1) tuple 传值
print("I‘m %s, and I‘m %d years old" % (‘Tony‘,99) )
2)字典传值
print("I‘m %(name)s, and I‘m %(age)d years old" % {‘name‘:‘Tony‘,‘age‘:99})
字典传值时,我们对格式串进行了 命名。所以可以接收字典的value(相同名字的key)
格式符含义:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
%% 字符"%"
注意:
1)%s 与 %r 的区别在于, %s 不带‘‘, %r 带
print("%s" % ‘abc‘) # abc
print("%r" % ‘abc‘) # ‘abc‘
2)%% 不懂??
3)其实除了 命名外,还有其他选项可以控制字符串。
% [(name)] [flags] [width] . [precision] typecode
其中flags 有+, -, 0, ‘ ‘ 四种。表示字符串前补上这些符号
width 表示字符串的output长度,左补
precision代表float类型的output精度
例子:
print("%+10x" % 10) # +a
print("%04d" % 5) #0005
print("%6.3f" % 2.3) # 2.300
# width 和precision 也可以动态传递
print("%.4f" % 1.2) #1.2000
print("%.*f" % (4,1.2)) #1.2000
原文:http://www.cnblogs.com/skyEva/p/5536992.html