從python 2.6開始,可以使用format對string格式化
用法1:使用{}
s = '{} {}!'.format('Hello','word') print s
用法2:使用{index}
s = '{0} {1}!'.format('Hello','word') print s s1 = '{1} {0}!'.format('Python','Hello') print s1
用法3:使用變數名
s = '{s1} {s2}!'.format(s1='Hello',s2='word') print s
用法4:使用dict
dict = {'type':'dict','s1':'Hello','s2':'world'} s = 'Using {type}: {s1} {s2}!'.format(**dict) print s
用法5:使用list
list = ['list','Hello','world'] s = 'Using {0[0]}: {0[1]} {0[2]}!'.format(list) print s list2 = [['list','list2'],['Hello','Hello2'],['world','world2']] s1 = 'Using {0[0][1]}: {0[1][1]} {0[2][1]}!'.format(list2) print s1
用法6:數字格式化
# -*- coding: utf-8 -*- num = 1.5238 print 'L1: {:.3f}'.format(num) #小數點後保留位數(四拾五入) print 'L2: {:+.3f}'.format(num*-1) #含正負號 num2 = 9999997.9999 print 'L3: {:,}'.format(num2) #為數字添加逗號 print 'L4: {:2e}'.format(num2) #指數記數法 num3 = 0.5 print 'L5: {:%}'.format(num3) #轉換成百分比 print 'L6: {:.2%}'.format(num3) #轉換成百分比,小數點後保留2位 num4 = 9 print 'L7: {:<3}'.format(num4) #向向對齊後string長度是3,以空格填補 print 'L8: {:>3}'.format(num4) #向右對齊後string長度是3,以空格填補 print 'L9: {:^3}'.format(num4) #置中對齊後string長度是3,以空格填補 print 'L10: {:a^3}'.format(num4) #置中對齊後string長度是3,以'a'填補 print 'L11: {:0>5d}'.format(num4) #變長度為5,向左補0,冒號後只可有一個字元 print 'L12: {:a<5d}'.format(num4) #變長度為5,向右以a填充,冒號後只可有一個字元 num5 = 10 #進制轉換 print 'BIN: {:b}'.format(num5) print 'OCT: {:o}'.format(num5) print 'DEC: {:d}'.format(num5) print 'HEX: {:x}'.format(num5) print 'HEX: {:#x}'.format(num5) print 'HEX: {:#X}'.format(num5)