python 格式化输出
格式化符号 | 说明 |
---|---|
%c | 转换成字符(ASCII 码值,或者长度为一的字符串) |
%r | 优先用repr()函数进行字符串转换(Python2.0新增) |
%s | 优先用str()函数进行字符串转换 |
%d / %i | 转成有符号十进制数 |
%u | 转成无符号十进制数 |
%o | 转成无符号八进制数 |
%x / %X | (Unsigned)转成无符号十六进制数(x / X 代表转换后的十六进制字符的大 小写) |
%e / %E | 转成科学计数法(e / E控制输出e / E) |
%f / %F | 转成浮点数(小数部分自然截断) |
%g / %G | %e和%f / %E和%F 的简写 |
%% | 输出% |
%r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符
号则是用来向用户显示输出的。
charA = 65 charB = 66 print("ASCII码65代表:%c" % charA) print("ASCII码66代表:%c" % charB) Num1 = 0xEF3 Num2 = 0xAB03 print('转换成十进制分别为:%u和%u' % (Num1, Num2)) Num3 = 1200000 print('转换成科学计数法为:%e' % Num3) 输出: ASCII码65代表:A ASCII码66代表:B 转换成十进制分别为:3827和43779 转换成科学计数法为:1.200000e+06
一些辅助符号,如下表所示:
辅助符号 | 说明 |
---|---|
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号(+) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零(0),在十六进制前面显示“0x”或者“0X”(取决于用的是“x”还是“X”) |
0 | 显示的数字前面填充“0”而不是默认的空格 |
m.n | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
Num1 = 108 print("%#X" % Num1) Num2 = 234.567890 print("%.2f" % Num2) 输出: 0X6C 234.57 my_car='volvo' seats=5 #匿名tuple print "This car is %s. Its capacity is %d." %(my_car,seats) #命名dict print "This car is %(car)s. It has %(seats)d drivers." %{'car':'volvo','seats':6} ##匿名format print "This car is {0}. Its capacity is {1}.".format(my_car,seats) #命名format,参数可重用 print "This car is {car}. It has {seats} drivers.".format(car='volvo',seats=6)