Python的格式化输出
Py输出专题
%-formatting 输出
标准格式:
“在百分号后插入 %s 数据 %s 的写法”%(var1,var2)
文档格式:
"... %[key][flags][width][.precision][length type]conversion type ..." % values
文档格式翻译过来就是: %<映射键><Flags><宽度><精度><长度类型><格式符号>
示例:%(float)-10.2f"%{"float":3.1415}
!:没有使用 Length Type
LengthType极少用,不收录
映射键用法:
“ 使用键值 %(name)s 的形式来赋值 %(sex)s ”%{“name” : ”名字”, ”sex” : ”性别”}
Flags用法:
常见的Flag:
Flags | 效果 |
---|---|
0 | 与width搭配使用,填充 |
- | 与width搭配使用,结果左对齐 |
(空格) |
带符号正数或空字符串之前留一个空格方便对齐 |
+ | 展示正负号 |
width用法
就是很常见的限制长度的用法
比如%10s
就用到了width
而%-10s
就是<flags>+<width>
的结合用法
格式符号:
格式符号 | 转换 |
---|---|
%c | 字符(支持Unicode编码的字符) |
%s | 字符串 |
%d | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母0x) |
%X | 十六进制整数(大写字母0X) |
%f | 浮点数 |
%e | 科学计数法(小写e ) |
%E | 科学计数法(大写E ) |
%g | %f 和 %e 的简写 |
%G | %f和 %E 的简写 |
支持格式:
示例<默认右对齐> | 意义<不足会补充占位符> |
---|---|
%10s | 字符串限定长度10 |
%-10s | 左对齐 |
%.2s | 截取 2 位字符串 |
%10.2s | 10长度,截取 2 位字符串 |
%.2f | 限制 2 位小数位 |
format 格式化输出
标准格式:
“在花括号中插入内容{ }”.format(var)
重要格式
对一个整数使用千分位分隔符:
1 | a = 123456 |
如果同时使用居中、填充之类的操作符,需要这么写:
1 | a = 123456 |
其中,千分分隔符在最后
f-string 格式化输出
在Python 3.6 中新增的格式化输出,比前两个更直观而且更高效。在format基础上优化而来,使用格式大差不差:
基础语法
1 | name = 'ZhangSan' |
表达式求值与函数调用
显然大括号内也可以调用函数或者直接求取表达式结果:
1 | print(f"2 plus 3 is equal {2+3}") |
插入匿名函数lambda来完成更加复杂的运算:
1 | A = 123 |
f’在花括号中直接插入内容并规定格式{var:.2f}
格式化使用
对齐方式 字符填充 字符数限制
1 | # 不对齐(默认右对齐),只填充(默认空格填充) |
符号显示
1 | # 显示数的符号 |
精度描述 截断字符串
1 | # 默认精度为 6 位小数 |
提取时间格式
1 | import datetime |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 QLozinの小窝!