作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!
在許多編程語言中都包含有格式化字符串的功能,比如C和Fortran語言中的格式化輸入輸出。Python中內置有對字符串進行格式化的操作%。
%模板
定義
格式化字符串時,Python使用一個字符串作為模板。模板中有格式符,這些格式符為真實值預留位置,並說明真實數值應該呈現的格式。
例子
print("I'm %s. I'm %d year old" % ('Vamei', 99))
a = "I'm %s. I'm %d year old" % ('Vamei', 99) print(a)
print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99})
格式符
格式符為真實值預留位置,並控制顯示的格式。格式符可以包含有一個類型碼,用以控制顯示的類型,如下:

%s 字符串 (采用str()的顯示) %r 字符串 (采用repr()的顯示) %c 單個字符 %b 二進制整數 %d 十進制整數 %i 十進制整數 %o 八進制整數 %x 十六進制整數 %e 指數 (基底寫為e) %E 指數 (基底寫為E) %f 浮點數 %F 浮點數,與上相同 %g 指數(e)或浮點數 (根據顯示長度) %G 指數(E)或浮點數 (根據顯示長度) %% 字符"%"
Format模板
定義
Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。基本語法是通過 {} 和 : 來代替以前的 % 。format 函數可以接受不限個參數,位置可以不按順序。
例子
1 s = '我叫{},今年{},愛好{},再說一下我叫{}'.format('太白', 33, 'girl', '太白') 2 print(s)
1 s = '我叫{0},今年{1},愛好{2},再說一下我叫{0}'.format('太白', 33, 'girl') 2 print(s)
1 s = '我叫{name},今年{age},愛好{hobby},再說一下我叫{name}'.format(age=19, name='太白', hobby= 'girl') 2 print(s)