python字串格式化符號
格式化字元 轉換方式
%c 轉換成字元(ASCII 碼值,或者長度為一的字串)
%ra 優先用 repr()函數進行字串轉換
%s 優先用 str()函數進行字串轉換
%d / %i 轉成有符號十進位數
%ub 轉成無符號十進位數
%ob 轉成無符號八位元
%xb/%Xb (Unsigned)轉成無符號十六進位數(x/X 代錶轉換後的十六進位字元的大
小寫)
%e/%E 轉成科學計數法(e/E 控制輸出 e/E)
%f/%F 轉成浮點數(小數部分自然截斷)
%g/%G %e 和%f/%E 和%F 的簡寫
%% 輸出%
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~````
格式化操作符輔助指令
符號 作用
* 定義寬度或者小數點精度
- 用做靠左對齊
+ 在正數前面顯示加號( + )
<sp> 在正數前面顯示空格
# 在八位元前面顯示零('0'),在十六進位前面顯示'0x'或者'0X'(取決於
用的是'x'還是'X')
0 顯示的數字前面填充‘0’而不是預設的空格
% '%%'輸出一個單一的'%'
(var) 映射變數(字典參數)
m.n m 是顯示的最小總寬度,n 是小數點後的位元(如果可用的話)
以下是一些使用格式字串的例子:
十六進位輸出:
>>> "%x" % 108
'6c'
>>>
>>> "%X" % 108
'6C'
>>>
>>> "%#X" % 108
'0X6C'
>>>
>>> "%#x" % 108
'0x6c'
浮點數和科學記號標記法形式輸出:
>>>
>>> '%f' % 1234.567890
'1234.567890'
>>>
>>> '%.2f' % 1234.567890
'1234.57'
>>>
>>> '%E' % 1234.567890
'1.234568E+03'
>>>
>>> '%e' % 1234.567890
'1.234568e+03'
>>>
>>> '%g' % 1234.567890
'1234.57'
>>>
>>> '%G' % 1234.567890
'1234.57'
>>>
>>> "%e" % (1111111111111111111111L)
'1.111111e+21'
整數和字串輸出:
>>> "%+d" % 4
'+4'
>>>
>>> "%+d" % -4
'-4'
>>>
>>> "we are at %d%%" % 100
'we are at 100%'
>>>
>>> 'Your host is: %s' % 'earth'
'Your host is: earth'
>>>
>>> 'Host: %s/tPort: %d' % ('mars', 80)
'Host: mars Port: 80'
>>>
>>> num = 123
>>> 'dec: %d/oct: %#o/hex: %#X' % (num, num, num)
'dec: 123/oct: 0173/hex: 0X7B'
>>>
>>> "MM/DD/YY = %02d/%02d/%d" % (2, 15, 67)
'MM/DD/YY = 02/15/67'
>>>
>>> w, p = 'Web', 'page'
>>> 'http://xxx.yyy.zzz/%s/%s.html' % (w, p)
'http://xxx.yyy.zzz/Web/page.html'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> from string import Template
>>> s = Template('There are ${howmany} ${lang} Quotation Symbols')
>>>
>>> print s.substitute(lang='Python', howmany=3)
There are 3 Python Quotation Symbols