字符串格式化

字符串格式化

我们经常会遇到输出“亲爱的 xx 您好,您 xx 月的话费是xx,余额是xx!”这样的字符串,其中xx的内容会根据变量变化的,所以就需要一种简便的方法来格式化字符串。

在python中通过%来实现,下面举几个小例子:

>>>"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位置的变量。

那么常见的占位符就有:

%d:  整数

%f: 浮点数

%s: 字符串

%x: 十六进制整数

%d 和 %f 还可以指定位数。例如:

>>>"%2d-%02d" % (1,2)
" 1-02"
>>>"%.2f" % 3.1415926
"3.14"

%2d----->表示的是占2个位置的整数。不够2位用空格来补。

%02d---->表示的是占2个位置的整数。不够用0来补。

当然:如果后面的数字比前面规定的大,则直接输出本来的数字。

%.2f---->表示的是浮点数,保留小数点后2位。如果小数点前面也加上数字n,表示保留浮点数总共占位n个位置,不够用空格补,小数点后2位。

如果你不确定要格式化的是什么,那么就用%s,%s永远起作用。它会把任何数据类型都转化成字符串:

>>>"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个空格。
posted @ 2017-03-31 19:52  高跃  阅读(230)  评论(0编辑  收藏  举报