Python字符串格式化,format()格式化函数详细使用

Python接触比较多的是字符串,那么操作字符串也就多。Python 支持格式化字符串的输出 。

尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符的字符串中。

代码例子:

%s:格式化字符串。

%d:格式化整数。

如果把它们插入的值交换位置报错。

注意字符串格式符会规定插入值的类型。

大概的意思就是:%d需要一个数字,而不是字符串。

我开始学习python不知道字符串格式化,都是用加号拼接。

来看一下python字符串格式化符号:

  • %c:字符及其ASCII码
  • %s:字符串
  • %d:整数
  • %u:无符号整型
  • %o:无符号八进制数
  • %x:无符号十六进制数
  • %X:无符号十六进制数(大写)
  • %f:浮点数字,可指定小数点后的精度
  • %e:用科学计数法格式化浮点数
  • %E:作用同%e,用科学计数法格式化浮点数
  • %g:%f和%e的简写
  • %G:%f 和 %E 的简写
  • %p:用十六进制数格式化变量的地址

Python3其实不推荐使用这种格式了,当然不使用也要知道一下比较好。

而从Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

基本语法是通过{}和:来代替以前的%。

如果把它们插入的值交换位置会不会报错?

不会限制它的类型,还是可以输出打印结果。

从这里可以看出一个{}对应一个format的值,其实不是的,format 函数可以接受不限参数,位置可以不按顺序。

format接收的是一个元组。如果{}比值数量多呢?

用索引来定义值在那里格式化。

可以用可以设置参数,需要注意关键字跟format里面的一样,可以多次使用,跟索引一样

关键字格式化:

还可以用列表参数传值:其实可以看成一个元组中有两个列表,然后用索引去取值。

字典参数传值:跟关键字参数形式有点像,选择适合自己的参数去传值就好。

看看格式化数字的多种方法。

保留小数点:

保留几位小数点,就把数字改为几。不带小数的值为0。

带符号保留小数点:

格式化对齐:

分别是居中、左对齐、右对齐,后面带宽度, 冒号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。

居中对齐:

左对齐:

右对齐:

{}里面的数字10是长度,格式化的值长度没有达到就用{}里的g来填充。

以逗号分隔的数字格式:是不是跟银行的数字用逗号隔开一样。

百分比格式:{}里面的数字9是百分比格式小数后面的0。不要0就写0。

科学数字记法:

​进制转换格式化:

b、d、o、x 分别是二进制、十进制、八进制、十六进制。

熟悉掌握format()格式化函数,可以组合多种多样的格式。后面用Python很多时候都会用到format方法,拼接网址、拼接字符串写入文件等等。

打开APP阅读更多精彩内容