版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhdl11/article/details/38708045
python中使用类似于c中printf()的格式输标记,在python中使用%格式化输字符串,通用形式为:
(格式标记字符串) % (输出值组)
其左边部分格式标记字符串完全与C一致,右边'值组'中如果有两个及以上的值则需要用括号括起,中间用逗号隔开,重点看左边,左边部分的简单形式为:%cdoe
格式 | 描述 |
%% | 百分号标记 |
%c | 字符及ASCII码 |
%s |
字符串 |
%d |
有符号整数(十进制) |
%u | 无符号整数(十进制) |
%o | 无符号整数(八进制) |
%x | 无符号整数(十六进制) |
%X | 无符号整数(十六进制大写) |
%e | 浮点数字(科学计数法) |
%E | 浮点数字(科学计数法,用E代替e) |
%f | 浮点数字(用小数点符号) |
%g | 浮点数字(根据值的大小采用%e或%f) |
%G | 浮点数字(类似于%g) |
%p | 指针(用十六进制打印值的内存地址) |
%n | 存储输出字符的数量放进参数列表的下一个变量中 |
几个例子:
print('%5.2f' % 12.345)
输出12.35 在f前出现了5.2,表示总输出长度为5个字符,其中小数两位,则输出结果为 12.35(小数点也算一位字符,最后一位四舍五入)
print('%6.1f' % 12.345)
输出 ^^12.3,其中我手动添加的空格占位符,因为按照输出要求不满足6位字符,所以在输出时自动使用空格占位
print('%06.1f' % 12.345)
输出0012.3,在6前面使用0,表示位数不足使用0补足。类似0的还有 -和+,-表示左对齐,+表示在整数前面也标上+(也占一位字符)
print('%(name)s:%(score)06.1f' % {'score':65.54, 'name':'tom'})
输出tom:0065.5。在输出内容为dictionary(字典类型)时,小括号中的name 和 score对应后面键值对中的键。在这种形式下,对应的值是通过小括号中的键指定的,并不像原来那样一一对应了。