这是format函数的骚操作???
作者:思勉
来源:智能演示
fomat格式化的一般表达式:<待格式化{}字符串>.fomat(<逗号分隔的参数>)
用槽({}
)在待格式化字符串
中开辟一个位置,将format
函数中的参数填充到槽({}
)中。
一、参数传递
1、位置传递
format
函数可以接受不限个参数,位置可以不按顺序。
- 不设置指定位置(默认顺序)
'{}{}{}'.format('智能','演示','微信公众号')
# 输出:'智能演示微信公众号'
- 设置指定位置(默认顺序)
'{0}{1}{2}'.format('智能','演示','微信公众号')
# 输出:'智能演示微信公众号'
- 设置指定位置(自定义顺序)
'{1}{0}{2}'.format('智能','演示','微信公众号')
# 输出:'演示智能微信公众号'
- 多余参数不传递
'{}{}'.format('智能','演示','微信公众号')
# 输出:'智能演示'
- 参数多次调用
'{0}{1}|{0}{1}{2}'.format('智能','演示','微信公众号')
# 输出:'智能演示|智能演示微信公众号'
format()
函数中的参数可以多次调用,多次调用时要标明参数位置。
2、关键字传递
在format()
函数中,可以在槽中注明关键字,利用key=value
实现赋值替换。
'{name1}{name2}-{style}'.format(name2='演示',style='微信公众号',name1='智能')
# 输出:'智能演示-微信公众号'
3、字典传递
可以将参数放在字典中传递。
dict = {'name':'智能演示','style':'微信公众号'}
print('{name}-{style}'.format(**dict))
# 输出:'智能演示-微信公众号'
4、列表下标传递
可以将参数放在列表中,通过列表下标传递。
list = ['智能演示','-','微信公众号']
print('{0[0]}{0[1]}{0[2]}'.format(list))
# 输出:'智能演示-微信公众号'
二、格式限定符
使用格式限定符,完成槽({}
)内部的格式化配置。槽内部的一般样式如下:{<参数位置序号>:<格式控制标记>}
符号 | 含义 |
---|---|
: | 引导符号 |
- / = \ # | 填充符号,还可以是其他符号 |
< | 左对齐 |
> | 右对齐 |
^ | 居中对齐 |
10 | 指定槽的输出宽度,可以自定义设置 |
, | 数字千分位分割符 |
. | 精度,用来表示浮点数的小数位数或字符串的最大长度。精度常跟类型 f 一起使用。 |
f | 浮点数类型 |
b | 二进制 |
d | 十进制 |
o | 八进制 |
x | 十六进制 |
1、填充、对齐、宽度
填充
、对齐
、宽度
常常一起使用,:
号后面引导填充符号
(只能是一个字符,不指定符号则默认用空格填充)、对齐方式
、输出宽度
。
'{:>10}'.format('智能演示')
# 输出:' 智能演示'
'{:=>10}'.format('智能演示')
# 输出:'======智能演示'
'{:=^10}'.format('智能演示')
# 输出:'===智能演示==='
2、数字处理
- 数字的精度输出
'{:.2f}'.format(3.1415926)
# 输出:'3.14'
- 数字的进制转换
'{:b}'.format(2020)
# 输出:'11111100100'
'{:d}'.format(2020)
# 输出:'2020'
'{:o}'.format(2020)
# 输出:'3744'
'{:x}'.format(2020)
# 输出:'7e4'
- 数字的千分位输出
'{:,}'.format(5201314)
# 输出:'5,201,314'
◆ ◆ ◆ ◆ ◆
长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
评论