%字符
:
标记转换说明符的开始;转换标志
:
- 表示左对齐;+ 表示在转换值之前要加上正负号;“” (空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充;最小字段宽度
:
转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出;点(.)精度控制
:
如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出;
整数输出
%o -- 八进制(oct)
%d -- 十进制(dec)
%x -- 十六进制(hex)
浮点数
%f -- 保留小数点后面6位有效数字
%.2f -- 保留小数点后两位数字
%e -- 保留小数点后六位有效数字,指数形式输出
%.2e -- 保留小数点后2位有效数字,指数形式输出
%g -- 保证六位有效数字的前提下,使用小数形式,否则科学计数
%.3g -- 保证3位有效数字的前提下,使用小数形式,否则科学计数
*
%g有点儿类似计算器的逻辑,不超过某个值时正常现实,超过了就改用科学计数的方式。
字符串输出
%s -- 常规输出
%10s -- 右对齐,占位符10位
%-10s -- 左对齐,占位符10位
%.2s -- 截取2位字符串
%10.2s -- 10位占位符,截取两位字符串
格式化转换对照表
转换类型 | 含义 |
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对象) |