先舉一個例子:
str = 'hello world'
print("the length of %s is %d" %(str,len(str)))
# output
# the length of hello world is 11
下表顯示了格式化符號代表的意義
%c | 格式化字符及其ASCII碼 |
%s | 格式化字符串 |
%d | 格式化十進制整數 |
%u | 格式化無符號整型 |
%o | 格式化無符號八進制數 |
%x | 格式化無符號十六進制數 |
%X | 格式化無符號十六進制數(大寫) |
%f | 格式化浮點數字,可指定小數點後的精度 |
%e | 用科學計數法格式化浮點數 |
%E | 作用同%e,用科學計數法格式化浮點數 |
%g | %f和%e的簡寫 |
%G | %f 和 %E 的簡寫 |
%p | 用十六進制數格式化變量的地址 |
格式化操作符輔助指令:
* | 定義寬度或者小數點精度 |
- | 用做左對齊 |
+ | 在正數前面顯示加號( + ) |
<sp> | 在正數前面顯示空格 |
# | 在八進制數前面顯示零('0'),在十六進制前面顯示'0x'或者'0X'(取決於用的是'x'還是'X') |
0 | 顯示的數字前面填充'0'而不是默認的空格 |
% | '%%'輸出一個單一的'%' |
(var) | 映射變量(字典參數) |
m.n. | m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話) |
舉例:
pi = 3.141592653
print('%10.3f' % pi) #字段寬10,精度3
print("pi = %.*f" % (3,pi)) #用*從後面的元組中讀取字段寬度或精度
print('%010.3f' % pi) #用0填充空白
print('%-10.3f' % pi) #左對齊
print('%+f' % pi) #顯示正負號
輸出爲:
3.142
pi = 3.142
000003.142
3.142
+3.141593
參考文獻: