教程|Python中字符串的格式化:舊式+新式的總結

教程|Python中字符串的格式化:舊式+新式的總結

Python有兩種格式化字符串的方法,一種是使用%格式化,另一種是使用format格式化。第一種方法較為簡單,一般將其稱為舊式,其適用於Python2版本和Python3版本;後一種方法為新式方法,其適用於Python2.6版本及以上。關於這兩種方法的具體用法,筆者將在下文中進行詳細介紹。私信回覆【基礎】可獲取python基礎視頻教程一套

1. 舊式:%

%格式化字符串的一般形式為str % a其中str表示格式字符串,它由%和一個轉化字符組成,轉換字符用於指定數據類型,一些常用轉換字符如下表所示。a則表示一個對象元組或映射對象。

教程|Python中字符串的格式化:舊式+新式的總結

在介紹常用格式化字符串之前,先給出幾個需要格式化的對象,包括整數、浮點數、字符串和字典等,如下所示:

教程|Python中字符串的格式化:舊式+新式的總結

接下來使用Python進行操作,先對整數進行不同形式的格式化。利用%s、%d、%x和%o將整數a分別格式化成字符串、十進制整數、十六進制整數和八進制整數的形式。

教程|Python中字符串的格式化:舊式+新式的總結

同樣,對浮點數b進行不同形式的格式化,包括字符串、十進制浮點數、以科學計數法表示的浮點數等。

教程|Python中字符串的格式化:舊式+新式的總結

需要注意的是,如果將字符串轉化成整數形式會出現TypeError,如下圖所示:


教程|Python中字符串的格式化:舊式+新式的總結


下面介紹字符串的插值操作,字符串內的%s表示需要插入一個格式化的字符串,%d意味著需要插入格式化的十進制整數,其他轉換字符與%s和%d的用法相同。需要注意的是,字符串中出現%的次數與%之後提供的數據個數需相同

否則會出現如下圖所示的報錯信息。

教程|Python中字符串的格式化:舊式+新式的總結

此外,如果插入多個數據,需要將其封裝於同一個元組內。我們定義了新的格式化對象e和f,並進行了插值操作,如下圖所示。

教程|Python中字符串的格式化:舊式+新式的總結

2. 新式:format

新式的格式字符串的方法是使用{}和format,一般形式為s.format(*args,**kargs)。字符串s中的內容會被format( )中的內容替代。例如,我們定義計算平均數的函數時就可以使用format,通過輸入a和b的值就可以直接報告最後的結果。

教程|Python中字符串的格式化:舊式+新式的總結

使用format可以指定對象插入的順序。

0代表format( )中的第一個參數,1代表第二個參數,2代表第三個參數。下面,我們利用之前定義的對象a、b和c,分別依次輸出了b、a和c。

教程|Python中字符串的格式化:舊式+新式的總結

另外,在新式方法中的,指定對象的格式需要將轉化字符放在冒號之後。注意,在新式方法中整數與浮點數無法使用s這個轉化字符

教程|Python中字符串的格式化:舊式+新式的總結

接下來,如果我們需要格式化的對象是字典,應該怎麼操作呢?我們定義了一個字典,裡面包含一個人的姓名、年齡和體重信息,具體的操作如下圖所示。

教程|Python中字符串的格式化:舊式+新式的總結

關於字符串的格式化,還包括最小域寬、最大字符寬、對齊方式等等。


分享到:


相關文章: