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}题