Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。
基本語法是通過 {} 和 : 來代替以前的 % 。
format 函數可以接受不限個參數,位置可以不按順序。
print('{} {}'.format('hello','world')) # 不設置指定位置 print('{0} {1}'.format('hello','world')) #設置指定位置 print('{1} {0} {1}'.format('hello','world'))
輸出結果:
hello world
hello world
world hello world
也可以設置參數:
#也可以指定參數 print('姓名:{name},地址:{address}'.format(name='cd',address='beijing')) #可以通過字典設置參數 info={'name':'cd','address':'yuyao'} print('姓名:{name},地址{address}'.format(**info)) #通過列表索引設置參數 lis=['cd','yuyao'] print('name:{0[0]},address:{0[1]}'.format(lis))#0是必須的
輸出結果為
姓名:cd,地址:beijing
姓名:cd,地址yuyao
name:cd,address:yuyao
數字格式化
print('{:.2f}'.format(3.1415926535))#保留小數點后兩位,輸出3.14 print('{:+.2f}'.format(3.1415926535))#帶符號保留小數點后兩位,輸出+3.14 print('{:+.2f}'.format(-1))#帶符號保留小數點后兩位,輸出-1.00 print('{:.0f}'.format(2.71828))#四舍五入不帶小數,輸出3 print('{:0>2d}'.format(5))#數字補零(填充左邊,寬度為2),輸出05 print('{:x<4d}'.format(5))#數字補x(填充右邊,寬度為4),輸出5xxx print('{:x<4d}'.format(10))#數字補x(填充右邊,寬度為4),輸出10xx print('{:,}'.format(10000000))#以逗號分隔的數字形式,輸出10,000,000 print('{:.2%}'.format(0.25))#百分比形式,輸出25.00% print('{:.2e}'.format(1000000000))#指數形式,輸出1.00e+09 print('{:10d}'.format(13))#右對齊,寬度為10,輸出 13 print('{:<10d}'.format(13))#左對齊,寬度為10,輸出13 print('{:^10d}'.format(13))#中間對齊,寬度為10,輸出 13
若想輸出大括號
print('{{}}'.format(0))#用{}來轉義大括號