Python 3 格式化字符串的几种方法!
%s和%d,%s是用来给字符串占位置,%d是给数字占位置,简单解释下:
1
|
a = 'this is %s %s' % ( 'an' , 'apple' ) |
程序输出的结果就是:this is an apple。很容易理解,第一个%s的值是用后面括号中第一个字符串替换的,第二个%s的值是后面括号中第二个字符串替换的,位置很重要。如果是这样:
1
|
a = 'this is %s %s' % ( 'apple' , 'an' ) |
程序输出的结果就是:this is apple an。程序会严格按照位置来替换。
format方法:
1
|
a = 'this is {} {}' . format ( 'apple' , 'an' ) |
程序输出结果是:this is apple an。format方法相当于是用{}来占位置的(类似%S的占位置)。但是我们可以给他提供参数,比如这种:
1
|
a = 'this is {1} {0}' . format ( 'apple' , 'an' ) |
程序输出结果是:this is an apple。可以看出来,我们后面括号中的参数的位置并没有改变,但是输出结果却变了。那是因为我在{}中指定了参数,{1}表示括号中索引为1的字符串,也就是第二个字符串(Python的索引是从0开始的)
format还可以这么用:
1
|
a = 'this is {number} {fruit}' . format (number = 'an' ,fruit = 'apple' ) |
我们可以用类似键值对的方法来指定他们对应的值,前面{namber}对应了后面括号中的‘an’,因为我们后面括号中写的很清楚number='an'。这种方法就可以不用记住参数的位置,只要对用好参数的“键”和“值”就行了