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':
如有文章对你有帮助,
“在看”和转发是对我最大的支持!
关注Python极客专栏