python中的 str.format() 函數用於格式化輸出,有下列幾種使用方式:
通過位置傳遞實參
字符串可以接受不限個參數,位置可以不按照順序
1、不指定位置,按默認順序
>>>print("{} love {}".format('Johnny', 'Timmy'))
Johnny love Timmy
2、指定位置
>>>print("{1} love {0}".format('Johnny', 'Timmy'))
Timmy love Johnny
>>>print("{1} {2} {0}".format('Johnny', 'Timmy', 'love'))
Timmy love Johnny
通過關鍵字傳遞實參
1、
>>>print('{學校}位於{省份}'.format(學校 = '中山大學', 省份 = '廣東'))
中山大學位於廣東
2、通過字典設置參數
>>>universe = {'學校':'中山大學', '省份':'廣東', '級別':'一本'}
>>>print('{學校}位於{省份}'.format(**universe))
中山大學位於廣東
3、通過列表索引設置參數(不要漏掉0[1]前面的0)
>>>uv = ['Tom', 'Jerry']
>>>print('I am a nice {0[1]}.\nI am a naught {0[0]}.'.format(uv))
I am a nice Jerry.
I am a naught Tom.
數字格式化
操作:print('格式'.format(字符或數字))
數字 | 格式 | 輸出 | 描述 |
---|---|---|---|
12 | {:^14} | 12 | 居中對齊,寬度爲14 |
12 | {:<14} | 12 | 向左對齊,寬度爲14 |
12 | {:14} | 12 | 默認向右對齊,寬度爲14 |
12 | {:*>6} | ****12 | 向右對齊,用*填充 |
3.1415926 | {.4f } | 3.1416 | 保留小數點後4位 |
-3.14 | {+.4f } | -3.1400 | 帶符號輸出 |
0.45 | {:.2%} | 45.00% | 百分形式輸出 |
50049663 | {:,} | 50,049,663 | 千分位分隔符形式輸出 |
1000000 | {:2e} | 1.00e+06 | 科學計數法輸出 |
11 | {:b} {:d} {:o} {:x} {:#x} {:#X} | 1011 11 13 b 0xb 0xB | 2進制 10進制 8進制 16進制 16進制0x格式 16進制0X格式 |
2、^ < > 分別表示居中、向左對齊、向右對齊
想輸出大括號時用雙大括號{{}}:print('{ }的重點是第{{1}}題'.format('考試'))
輸出爲:考試的重點是第{1}題