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方法,拼接网址、拼接字符串写入文件等等。