咱們常常會遇到輸出「親愛的 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個空格。