python {} format

用来按照你的需求格式化输出各种字符,比如"{:#06x}".format(i)

首先,我们需要知道,都是"{}".format()格式,大括号中的内容就是指定格式化的样式,以:开头。常见的有:

标志 意义
:< 左对齐
:> 右对齐
:^ 居中
:= 把标志放到左边,后面可以跟数字,表示中间空多少位置
:+ 在数字前面增加正负号
:- 只能用作负数,增加负号
: 默认,用空格作为替换符
:, 千位分隔符,对于比较长的数字,按照每3位用逗号隔开,比如100,000
:_ 这个就是用下划线隔开
:b 格式化为二进制
:c 格式化为unicode
:d 格式化为十进制
:e 把数字格式化为科学记数法,e是小写
:E 同上,E大写
:f 指定保留几位小数,默认有默认长度,可以自己设定,比如:.2f,那么45就会变成45.00
:F 同上,只不过inf会转为大写的INF或者NAN
:g 标准格式化
:G 同上,有些字符会大写
: o 八进制
:x 十六进制
:X 同上,只不过会大写
:n 数字格式化
:% 百分比

使用举例

格式 数值 输出 描述
:+.3f 3.14159 +3.141 设定小数点多少位,必须冒号后面跟点,不然不起作用
:b 11 1011 转为二进制
:05b 11 01011 转为二进制,冒号后面的0表示填充字符,上面已经介绍过,如果没有,默认空格填充,5表示长度为5,不足填充
:#07b 11 0b01011 转为二进制,#表示输出数值进制的前缀,比如二进制,就在前面家0b,十六进制就家0x,0还是表示填充,7表示总长度,这里要算上前缀
:<08 123 12300000 左对齐,填充是0,总共位数是8位,所以原来数字123左对齐,就在右边也就是123后面填充5个0

https://www.w3schools.com/python/ref_string_format.asp
https://www.runoob.com/python/att-string-format.html
https://docs.python.org/zh-cn/3/library/string.html#formatstrings

posted @ 2023-05-13 16:30  秋来叶黄  阅读(139)  评论(0编辑  收藏  举报