%[(name)][flags][width].[precision]typecode
● (name) 可选,用于选择指定的key
● flags 可选,可供选择的值有:
● + 右对齐
● - 左对齐
● 空格 右对齐
● 零 右对齐,在十进制下用0填充空白处
● width 可选,表示宽度
● .precision 可选,保留小数位
● typecode 必选,如下:
转换类型 含义
d,i 带符号的十进制整数
o 不带符号的八进制
u 不带符号的十进制
x 不带符号的十六进制(小写)
X 不带符号的十六进制(大写)
e 科学计数法表示的浮点数(小写)
E 科学计数法表示的浮点数(大写)
f,F 十进制浮点数
g 如果指数大于-4或者小于精度值则和e相同,其他情况和f相同
G 如果指数大于-4或者小于精度值则和E相同,其他情况和F相同
C 单字符(接受整数或者单字符字符串)
r 一般不用 字符串(使用repr转换任意python对象)
s 字符串(使用str转换任意python对象)
In [66]: test = "This is test message"
In [67]: len(test)
Out[67]: 20
In [68]: print("#%30s,%30s#" %(test,test)) ###默认右对齐
# This is test message This is test message#
In [69]: print("#%-30s#" %test) ####左对齐
#This is test message #
print默认是换行的,不换行时需要指定替代符号,用法如下:
In [91]: for i in range(10):
print(i,end=',')
....:
0,1,2,3,4,5,6,7,8,9,
注意:当出现占位符后,想要打印%,需要用两个%%
s = "This is %s %%" % ("bad")
print(s)
This is bad %
如果没有出现占位符:
s = "This is %"
print(s)
This is %