小瘋談python:(七)字符串的拼接與格式化輸出

在上一篇文章中我想大家介紹了字符串的內置操作函數和方法,不過對於字符串來說這並不是最重要的知識點,因為對於字符串的操作我們一般首選是使用正則表達式。

小瘋談python:(七)字符串的拼接與格式化輸出


對於初學者來說,字符串最重要的其實是其格式化輸出,因為一個程序運行結束後,如果要我們要打印相關的數據,絕大多數情況下都是以字符串的形式呈現在控制檯。因此為了使結果具有更好的可讀性和靈活性,字符串的格式化輸出就顯得格外重要。例如,我現在接受了用戶的輸入的年齡信息,如果我直接將這個年齡打印在控制檯上那麼對於需要這些數據的人來說可能不友好,因為他們可能不知道這個數據是什麼意思,也就是說打印出來到數據不具有泛讀性。

小瘋談python:(七)字符串的拼接與格式化輸出

同樣的在字符串中我們無法直接使用代碼中的變量因為python解釋器會默認字符串內的元素為字符。

小瘋談python:(七)字符串的拼接與格式化輸出


因此為了實現我們打印出來的數據有一定的修飾語,一般有兩種辦法,分別是字符串的拼接和格式化化字符串。

字符串的拼接

我們在知道,對於兩個同類型的序列類型,我們可以通過 ‘+’ 這個符號進行拼接,因此如果我們想要對年齡有一定的修飾,就可以通過 print('年齡:'+str(age)+歲)的方式打印在控制檯上

小瘋談python:(七)字符串的拼接與格式化輸出

通過上面的列子我們可以看到,利用字符串的憑藉可以在一定程度上對年齡進行修飾,使得輸出的結果具有泛讀性。但是,其缺點也很明顯,就是拼接的數據類型必須是全是字符串類型,同時這種方式也有一點不規範。因此為了更為方便的對打印的數進行修飾,我們常常使用格式化字符串的方法。

小瘋談python:(七)字符串的拼接與格式化輸出


字符串的格式化

在python中格式化字符串有兩種方式,一種是通過‘s%’,一種是通過format()方法。雖然兩者都可以對字符串進行格式化輸出,但是我個人認為前者在表達方式和語法上並沒有後者那麼清晰明瞭,所以我在這篇文章中便不多說,同時也建議大家以後儘量使用format()方法。

基本使用格式:'其他字符 {} 其他字符'.format(參數)。 其中 { } 是佔位符,起著給傳入參數提供位置和對其進行進步操作的作用。

小瘋談python:(七)字符串的拼接與格式化輸出


當然,你也可以傳入多個參數。

小瘋談python:(七)字符串的拼接與格式化輸出

默認傳參

當傳入多個參數的時候,默認參數是重前向後傳入的,如果你要改變參數傳入的順序,那麼你可在‘{}’中設置索引值。例如

小瘋談python:(七)字符串的拼接與格式化輸出

位置傳參

以上便是格式化中最基本的參數傳遞,這其中還有許多有趣的知識點,例如{{},{}}中的參數是如何傳遞的,如果我要保留大括號該怎麼辦,這些問題小夥伴有興趣可以自己探索。

當然forma()方法能做的不僅僅是將參數傳入到字符串中,還可以對字符串,整數,浮點數(這三種數據類型有被稱為基本數據類型,是另一種數據類型的劃分標準)進行格式上的改變。

什麼是格式上的改變呢?

在我們使用word中,常常會對段落進行對齊,對數子進行精確小數點位數等格式操作。同樣的在python中,我們也可以通過format()方法對基本數據類型進行這樣的操作。

對齊操作:在format方法中我們可以通過'','^'這三個符號設置左對齊,右對齊和居中對齊。其中左對齊是默認對齊方式。具體操作'{0:>N}'.format(str)其中N為輸出的寬度,str為需要格式化的參數。

小瘋談python:(七)字符串的拼接與格式化輸出


小瘋談python:(七)字符串的拼接與格式化輸出


小瘋談python:(七)字符串的拼接與格式化輸出

在對齊的過程中,我們會發現如果我們設置的寬度小於字符串的長度,那麼字符串將全部輸出不進行對齊操作。如果寬度大於字符串長度,那麼進行對齊操作,剩餘的寬度用空格進行填充。但是有時候,我們並不希望使用空格填充,而是希望用一些特殊的符號進行填充從而達到視覺上的美觀的效果,這時候我們只要在對齊方式的符號前添加特殊符號即可。

小瘋談python:(七)字符串的拼接與格式化輸出

精度操作:format()方法中的精度操作有兩個含義。對於浮點數和整數來說,精度表示保留幾位小數(會四捨五入,整數會用0填充),對於字符串來說精度表示輸出元素的個數。具體操作'{0:.Nf}'.format(str)其中N為保留的位數,str為需要格式化的參數(對字符串進行操作不要加f)。

小瘋談python:(七)字符串的拼接與格式化輸出

對浮點數進行精度操作


小瘋談python:(七)字符串的拼接與格式化輸出

對字符串進行精度操作

當然,你也可以和對齊操作一起使用

小瘋談python:(七)字符串的拼接與格式化輸出

類型操作:類型操作表示輸出整數和浮點數的格式規則,由於我們絕大多數情況都是使用的十進制,所以對於類型操作,初學者不必掌握,只需要瞭解,這裡只介紹整數的六種類型操作。

  • b:輸出整數的二進制表示
  • c:輸出整數對應的Unicode字符
  • d:輸出整數的十進制表示
  • o:輸出整數的八進制表示
  • x:輸出整數小寫的十六進制表示
  • X:輸出整數大寫的十六進制表示
小瘋談python:(七)字符串的拼接與格式化輸出

最後,字符串的格式化輸出是初學者必須要掌握的字符串操作的方法,上面所有的格式化我都是通過print()函數打印在控制檯上的,如果你想要將它儲存到文件中,你可以通過變量進行接收,然後利用之後將會講到的文件操作將它寫入到文件中。

好的以上便是關於字符串格式化輸出的內容,如果你有什問題可以直接私信我,下一篇將開始具體介紹散列類型。同樣的,如果小夥伴覺得有所收穫,那麼還請點贊和轉發一下吧。

小瘋談python:(七)字符串的拼接與格式化輸出

點擊瞭解跟多,獲取上一篇文章內容。


分享到:


相關文章: