python格式化字符串_一文秒懂!Python字符串格式化之format方法详解

c69a194c6a9b58185fbd91705132688f.png

format是字符串内嵌的一个方法,用于格式化字符串。以大括号{}来标明被替换的字符串,一定程度上与%目的一致。但在某些方面更加的方便

1、基本用法

1、按照{}的顺序依次匹配括号中的值

"{} is a {}".format(

2、通过索引的方式去匹配参数

这里需要注意的是,索引从0开始计算。

"{0} is a {1}".format(

字符串中索引的顺序可以打乱,并不影响匹配。

"{1} is a {0}".format(

3、通过参数名来匹配参数

"{name} is a {sex}".format(name=

同理,如果参数已经确定,可以直接利用{}进行格式化引用。

'Tom'

4、混搭使用

可以通过索引,参数名来混搭进行匹配。

"My name is {}, i am {age} year old, She name is {}".format(

需要注意的是,命名参数必须写道最后。负责会编译报错!

"My name is {}, i am {age} year old, She name is {}".format(

另外,不可以索引和默认格式化混合使用。

"{} is a {0}".format(

以上两种写法均报异常。

# ValueError: cannot switch from automatic field numbering to manual field specification

2、进阶用法

1、支持对参数部分引用

可以通过索引对参数的部分进行取值。如下:s[0] = w。

"The word is {s}, {s[0]} is initials".format(s=

2、数字的处理

普通的直接匹配数字没什么好说的,与基础部分的字符串匹配一样。

'π is {}'.format(

如何使用format 保留两位小数呢?需要使用:.2f,在用%进行格式化时我们使用的是%:.2f

'π is {:.2f}'.format(

同时这种方法还可以用于字符串截取,不过数字后面就不能加f了。

"{:.1}".format(

给数字加千位符

"{:,}".format(

将数字转换成二进制

"{:b}".format(

将数字转换成八进制

"{:o}".format(

将数字转换成十六进制

"{:X}".format(

总结如下

  • b: 输出整数的二进制方式;
  • c: 输出整数对应的 Unicode 字符;
  • d: 输出整数的十进制方式;
  • o: 输出整数的八进制方式;
  • x: 输出整数的小写十六进制方式;
  • X: 输出整数的大写十六进制方式;

3、格式处理

通过:+数字指定转换后的字符串长度,不足的部分用空格补充

"{:2}b".format(

4、字符的填充

可通过:符号^数字进行字符串的填充。其中数字为填充后的字符串总长度。

"{:*^10}".format(

如果数字小于字符串的长度,则不进行填充操作。

"{:*^3}".format(

5、list、tuple的拆分

在format格式化时,可使用* 或者 ** 进行对list、tuple拆分。

'fish', 
'fish', 
'name': 
3df8473f6c103f509da0443ee1cb61f1.gif

如有文章对你有帮助,

“在看”和转发是对我最大的支持

294e01442ab22f1e2a21e9e04dfa7408.gif

关注Python极客专栏

00861ccd1a20daab9f59cb89a467894e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值