python中format的简单使用

提示:文章内容来自网络或书籍,如有侵权,感谢告知



一、format是什么?

format为python的内置函数,格式为format(value,format_space),意为将value转换为format_space控制的格式来表示,目前大多数都使用标准格式化语法。
默认format_space是一个空白字符,返回value的字符样式,产生与str一样的结果
标准格式说明符的一般形式:

fill(填充):   <any character>
align(对齐):"<" | ">" | "=" | "^"
sign(数字类型):"+" | "-" | " "
width(宽度):digit+
grouping_option(分组):"_" | ","
precision(精度):diagit+
type(类型):"b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

具体参考python中文手册:
链接
python3笔记:
链接

二、使用

{}:这其中的内容为需要替换的内容,不在其中的为文本
{}中可以放0,1,2…的序列,指明替换的位置

s="shfjvnt"
t=2345654789
w=456
print("{1},{0},{2}".format(s,t,w))
#2345654789,shfjvnt,456

1.fill

用于填充的单个字符,它可以为任意字符,如果省略则默认为空格符。
代码如下:

s="shfjvnt"
print("{:*20}".format(s))#报错,必须指定显示指定对齐方式
print("{:*^20}".format(s))
#******shfjvnt*******

2.align

对齐方式意义
“<”左对齐
“>”右对齐
“^”居中对齐
“=”强制将填充放置在符号(如果有)之后但在数字之前

代码如下(示例):

s="shfjvnt"
t=2345654789
w=456
print("{0:*^10}".format(w))
#***456****   居中对齐
print("{0:*>20}".format(t))
#**********2345654789  右对齐
print("{:*<20}".format(s))
#shfjvnt*************   左对齐
print("{:<s}".format(s))
#shfjvnt  忽略宽度,不会报错

3.sign

仅对数字类型有效

选项意义
“+”表示正号
“-”表示负号(默认)
print("{:+d}".format(12345))
#+12345
print("{:-d}".format(12345))
#12345

4.#

此选项仅对整数、浮点数和复数类型有效。

类型结果
int使用二进制、八进制或十六进制输出时,输出值会分别添加相应的 ‘0b’, ‘0o’, or ‘0x’ 进制符
float,complex就算原本无小数点,也会显示小数点
print("{:#d}".format(w))
#456

5.width

定义宽度

当未显式给出对齐方式时,在 width 字段前加一个零 ('0') 字段将为数字类型启用感知正负号的零填充。 这相当于设置 fill 字符为 '0' 且 alignment 类型为 '='

6.grouping_option

选项意义
" ,"千位分隔符
“_”对float类型和int表示类型 ‘d’ 使用下划线作为千位分隔符。 对于整数表示类型 ‘b’, ‘o’, ‘x’ 和 ‘X’,将为每 4 个数位插入一个下划线。 对于其他表示类型指定此选项则将导致错误。

7.precision

表示浮点数小数的部分精度或者字符串的最大输出长度

 对于整数值则不允许使用 precision

8.type

意为表达类型

类型意义
b二进制
c字符
d十进制整数
o八进制
x十六进制,字母部分小写
X十六进制,字母部分大写
n数字
None与"d"相同

总结

python标准格式化是学习python必须具备的知识,关于这个的知识方面很多,只做了大致了解。
作为新人,我希望能在学习的过程中总结知识,不断的完善自身,加油!加油!@Format的使用

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值