通過{}和:來代替傳統%方式
1、位置參數
位置參數不受順序約束,且可以為{},只要format里有相對應的參數值即可,參數索引從0開,傳入位置參數列表可用*列表
1 >>> li = ['jack',18] 2 >>> 'my name is {} ,age {}'.format('jack',18) 3 'my name is jack ,age 18' 4 >>> 'my name is {1} ,age {0}'.format(10,'jack') 5 'my name is jack ,age 10' 6 >>> 'my name is {1} ,age {0} {1}'.format(10,'jack') 7 'my name is jack ,age 10 jack' 8 >>> 'my name is {} ,age {}'.format(*li) 9 'my name is jack ,age 18'
2、關鍵字參數
關鍵字參數值要對得上,可用字典當關鍵字參數傳入值,字典前加**即可
1 >>> hash = {'name':'jack','age':18} 2 >>> 'my name is {name},age is {age}'.format(name='jack',age=19) 3 'my name is jack,age is 19' 4 >>> 'my name is {name},age is {age}'.format(**hash) 5 'my name is jack,age is 18'
3、填充與格式化
:[填充字符][對齊方式 <^>][寬度]
1 >>> '{0:*>10}'.format(10) ##右對齊 2 '********10' 3 >>> '{0:*<10}'.format(10) ##左對齊 4 '10********' 5 >>> '{0:*^10}'.format(10) ##居中對齊 6 '****10****'
4、精度與進制
1 >>> '{0:.2f}'.format(1/3) 2 '0.33' 3 >>> '{0:b}'.format(10) #二進制 4 '1010' 5 >>> '{0:o}'.format(10) #八進制 6 '12' 7 >>> '{0:x}'.format(10) #16進制 8 'a' 9 >>> '{:,}'.format(12369132698) #千分位格式化 10 '12,369,132,698'
5、使用索引
1 >>> li 2 ['jack', 18] 3 >>> 'name is {0[0]} age is {0[1]}'.format(li) 4 'name is jack age is 18