Python有两种格式化字符串的方法,一种是使用%格式化,另一种是使用format格式化。第一种方法较为简单,一般将其称为旧式,其适用于Python2版本和Python3版本;后一种方法为新式方法,其适用于Python2.6版本及以上。关于这两种方法的具体用法,笔者将在下文中进行详细介绍。
1. 旧式:%
%格式化字符串的一般形式为str % a。其中str表示格式字符串,它由%和一个转化字符组成,转换字符用于指定数据类型,一些常用转换字符如下表所示。a则表示一个对象元组或映射对象。
在介绍常用格式化字符串之前,先给出几个需要格式化的对象,包括整数、浮点数、字符串和字典等,如下所示:
接下来使用Python进行操作,先对整数进行不同形式的格式化。利用%s、%d、%x和%o将整数a分别格式化成字符串、十进制整数、十六进制整数和八进制整数的形式。
同样,对浮点数b进行不同形式的格式化,包括字符串、十进制浮点数、以科学计数法表示的浮点数等。
需要注意的是,如果将字符串转化成整数形式会出现TypeError,如下图所示:
下面介绍字符串的插值操作,字符串内的%s表示需要插入一个格式化的字符串,%d意味着需要插入格式化的十进制整数,其他转换字符与%s和%d的用法相同。需要注意的是,字符串中出现%的次数与%之后提供的数据个数需相同,否则会出现如下图所示的报错信息。
此外,如果插入多个数据,需要将其封装于同一个元组内。我们定义了新的格式化对象e和f,并进行了插值操作,如下图所示。
2. 新式:format
新式的格式字符串的方法是使用{}和format,一般形式为s.format(*args,**kargs)。字符串s中的内容会被format( )中的内容替代。例如,我们定义计算平均数的函数时就可以使用format,通过输入a和b的值就可以直接报告最后的结果。
使用format可以指定对象插入的顺序。0代表format( )中的第一个参数,1代表第二个参数,2代表第三个参数。下面,我们利用之前定义的对象a、b和c,分别依次输出了b、a和c。
另外,在新式方法中的,指定对象的格式需要将转化字符放在冒号之后。注意,在新式方法中整数与浮点数无法使用s这个转化字符。
接下来,如果我们需要格式化的对象是字典,应该怎么操作呢?我们定义了一个字典,里面包含一个人的姓名、年龄和体重信息,具体的操作如下图所示。
关于字符串的格式化,还包括最小域宽、最大字符宽、对齐方式等等。
领取专属 10元无门槛券
私享最新 技术干货