標籤:python字串格式化
格式 描述
%d 有符號整數(十進位)
%i 有符號整數(十進位)
%o 不帶正負號的整數(八進位)
%u 不帶正負號的整數(十進位)
%x 不帶正負號的整數(十六進位)
%X 不帶正負號的整數(十六進位大寫字元)
%e 浮點數字(科學計數法)
%E 浮點數字(科學計數法,用E代替e)
%f 浮點數字(用小數點符號)
%F
%g 浮點數字(根據值的大小採用%e或%f)
%G 浮點數字(類似於%g)
%c 字元及其ASCII碼
%r 用rper()方法處理對象
%s 字串 用str()方法處理對象,用來做 debug 比較好
%% 百分比符號標記 #就是輸出一個%
%p 指標(用十六進位列印值的記憶體位址)
%n 儲存輸出字元的數量放進參數列表的下一個變數中
%格式化符也可用於字典,可用%(name)引用字典中的元素進行格式化輸出。
負號指時數字應該是靠左對齊的,“0”告訴Python用前置0填充數字,正號指時數字總是顯示它的正負(+,-)符號,即使數字是正數也不例外。
可指定最小的欄位寬度,如:"%5d" % 2。也可用句點符指定附加的精度,如:"%.3d" % 3。
e.g.
# 例:數字格式化
nYear = 2018
nMonth = 8
nDay = 18
# 格式化日期 %02d數字轉成兩位整型缺位填0
print ‘%04d-%02d-%02d‘%(nYear,nMonth,nDay)
>> 2018-08-18# 輸出結果
fValue = 8.123
print ‘%06.2f‘%fValue# 保留寬度為6的2位小數浮點型
>> 008.12# 輸出
print ‘%d‘%10# 輸出十進位
>> 10
print ‘%o‘%10# 輸出八進位
>> 12
print ‘%02x‘%10# 輸出兩位十六進位,字母小寫空缺補零
>> 0a
print ‘%04X‘%10# 輸出四位十六進位,字母大寫空缺補零
>> 000A
print ‘%.2e‘%1.2888# 以科學計數法輸出浮點型保留2位小數
>> 1.29e+00
格式化操作符輔助指令
符號 作用
* 定義寬度或者小數點精度
- 用做靠左對齊
+ 在正數前面顯示加號( + )
<sp> 在正數前面顯示空格
# 在八位元前面顯示零(‘0‘),在十六進位前面顯示‘0x‘或者‘0X‘(取決於
用的是‘x‘還是‘X‘)
0 顯示的數字前面填充‘0’而不是預設的空格
% ‘%%‘輸出一個單一的‘%‘
(var) 映射變數(字典參數)
m.n m 是顯示的最小總寬度,n 是小數點後的位元(如果可用的話)
基本使用方法:
#coding=utf-8‘‘‘可以指定所需長度的字串的對齊:< (預設)靠左對齊> 靠右對齊^ 中間對齊= (只用於數字)在小數點後進行補齊‘‘‘print ‘1:\t|{0:>10},‘.format(‘wangyu‘)print ‘2:\t|{0:4.2f}‘.format(1.1415926)print ‘3:\t|‘,format(1.1415926,‘<10.2f‘)print ‘4:\t|{0:<10},{1:<15}‘.format(‘wangyu‘,1.1415926)print ‘5:\t|User ID: {uid} Last seen: {last_login}‘.format(uid=‘root‘,last_login = ‘5 Mar 2008 07:20‘) ‘‘‘格式化指示符可以包含一個展示類型來控制格式。例如,浮點數可以被格式化為一般格式或用冪來表示。‘b‘ - 二進位。將數字以2為基數進行輸出。‘c‘ - 字元。在列印之前將整數轉換成對應的Unicode字串。‘d‘ - 十進位整數。將數字以10為基數進行輸出。‘o‘ - 八進位。將數字以8為基數進行輸出。‘x‘ - 十六進位。將數字以16為基數進行輸出,9以上的位元用小寫字母。‘e‘ - 冪符號。用科學計數法列印數字。用‘e‘表示冪。‘g‘ - 一般格式。將數值以fixed-point格式輸出。當數值特別大的時候,用冪形式列印。‘n‘ - 數字。當值為整數時和‘d‘相同,值為浮點數時和‘g‘相同。不同的是它會根據地區設定插入數字分隔字元。‘%‘ - 百分數。將數值乘以100然後以fixed-point(‘f‘)格式列印,值後面會有一個百分比符號。‘‘‘ print ‘6:\t|{0:b}‘.format(3)print ‘7:\t|{0:c}‘.format(3)print ‘8:\t|{0:d}‘.format(3)print ‘9:\t|{0:o}‘.format(3)print ‘10:\t|{0:x}‘.format(3)print ‘11:\t|{0:e}‘.format(3.75)print ‘12:\t|{0:g}‘.format(3.75)print ‘13:\t|{0:n}‘.format(3.75) #浮點數print ‘14:\t|{0:n}‘.format(3) #整數print ‘15:\t|{0:%}‘.format(3.75) #輸入形式的控制formata = int(raw_input(‘a:‘))b = int(raw_input(‘b:‘))print ‘16:\t|%*.*f‘ % (a, b, 1.1415926) print ‘17:\t|{array[2]}‘.format(array=range(10))print ‘18:\t|{attr.__class__}‘.format(attr=0)print ‘19:\t|{digit:*^ 10.5f}‘.format(digit=1.0/3) ‘‘‘類和類型可以定義一個__format__()方法來控制怎樣格式化自己。它會接受一個格式化指示符作為參數:‘‘‘def __format__(self, format_spec): if isinstance(format_spec, unicode): return unicode(str(self)) else: return str(self)
650) this.width=650;" src="http://static.oschina.net/uploads/space/2013/0528/103002_FCtE_259961.png" alt="103002_FCtE_259961.png" />
python字串格式化