咱们常常会遇到输出“亲爱的 xx 您好,您 xx 月的话费是xx,余额是xx!”这样的字符串,其中xx的内容会根据变量变化的,因此就须要一种简便的方法来格式化字符串。python
在python中经过%来实现,下面举几个小例子:code
>>>"Hello,my name is %s" % "gaoyue" "Hello,my name is gaoyue" >>>"Hi,%s,what are you doing!" % "LiMing" "Hi,LiMing,what are you doing!"
你能够从上面的小例子看出来%是用来格式化字符串的,%前面字符串中。%s表示的是占位符,可变。 %后面跟着的是替换到%s位置的变量。orm
那么常见的占位符就有:字符串
%d: 整数 %f: 浮点数 %s: 字符串 %x: 十六进制整数
%d 和 %f 还能够指定位数。例如:form
>>>"%2d-%02d" % (1,2) " 1-02" >>>"%.2f" % 3.1415926 "3.14"
%2d----->表示的是占2个位置的整数。不够2位用空格来补。变量
%02d---->表示的是占2个位置的整数。不够用0来补。数据类型
固然:若是后面的数字比前面规定的大,则直接输出原本的数字。方法
%.2f---->表示的是浮点数,保留小数点后2位。若是小数点前面也加上数字n,表示保留浮点数总共占位n个位置,不够用空格补,小数点后2位。数据
若是你不肯定要格式化的是什么,那么就用%s,%s永远起做用。它会把任何数据类型都转化成字符串:co
>>>"My name is %s,i am %s years old!" % ("gy",25) "My name is gy,i am 25 years ole!"
有的时候字符串中须要输入百分比%。那么就须要转义了。 %%表示一个没有格式化意义的%。
>>>"%d %%" % 12 "12 %"
下面咱们来了解下join和format格式化输出方法:
join:
"-".join("abcdef") 以 - 为链接符,把字符串"abcdef"中的各个元素拼接起来。这样的输出结果就是。 a-b-c-d-e-f
format:
"{0}{1:4}{2:4}{3:4}",format(1,2,3,"a") {0} 表示format后面跟着的第一个变量。同理后面的1,2,3也是一一对应的。 而{1:4}中的4,是占位符。表示的是format后面第二个变量,从前一个变脸占位结束开始占4位,若是不写则默认占位变量的大小。 还有变量默认的排列方式是右对齐。也就是说{1:4}表是的是从1后开是空格3个再输出3。若是想要居中显示能够在占位数前加上 ^ ,表示后面的变量居中显示。 "{0:^5}.format(1)"------> 1 ;1居中显示 左右各2个空格。