format 处理字符串,要求前后必须一一对应,否则会报错({}无值的时候):
1、常规使用:
ss = 'i am {}, age{},sex{}'.format('布鲁克', 3000, '男')
print(ss)
# i am 布鲁克, age3000,sex男
ss = 'i am {0}, age{1},sex{2}'.format('布鲁克', 3000, '男', '路飞')
print(ss)
# i am 布鲁克, age3000,sex男
2、key与字典 方式传值:
(format后边跟的内容可以理解为一个元组,字典使用**{})
ss = 'i am {name}, age{age},sex{sex}'.format(name='布鲁克', age=3000, sex='男')
ss = 'i am {name}, age{age},sex{sex}'.format(**{'name': '布鲁克', 'age': 3000, 'sex': '男'})
print(ss)
# i am 布鲁克, age3000,sex男
3、列表传值: (*[ ])
ss = 'i am {1[2]}, age{0[2]},sex{2[0]}'.format([20, 18, 3000], ['路飞', '索大', '布鲁克'], ['男', '女'])
print(ss)
# i am 布鲁克, age3000,sex男
li = ['路飞', '索大', '布鲁克']
ss = 'i am {:s}, age{:s},sex{:s}'.format(*li)
print(ss)
# i am 路飞, age索大,sex布鲁克
4、字符串拼接时候的部分内容改变:
符号 | 代表含义 | 例如 |
---|---|---|
:b | 二进制 | print(‘输出: {:b}’.format(13)) ----------# 输出: 1101 |
: o | 八进制 | print(‘输出: {: o}’.format(13)) ----------# 输出: 15 |
:d | 整形 | print(‘输出: {:d}’.format(13)) ----------# 输出: 13 |
:x | 十六进制(小写) | print(‘输出: {:x}’.format(13)) ----------# 输出: d |
:X | 十六进制(大写) | print(‘输出: {:b}’.format(13)) ----------# 输出: D |
:% | 百分数 | print(‘输出: {:%}’.format(13)) ----------# 输出: 1300.000000% |
: | 按位百分数 | print(‘输出: {:.2%}’.format(13)) ----------# 输出: 1300.00% |
:.2% | 按位百分数 | print(‘输出: {:.2%}’.format(13)) ----------# 输出: 1300.00% |
: s | 字符串 | print(‘输出: {: s}’.format(’布鲁克‘)) ----------# 输出: 布鲁克 |
:.2s | 按位字符串 | print(‘输出: {:.2s}’.format('布鲁克’)) ----------# 输出: 布鲁 |
:f | 浮点数 | print(‘输出: {:f}’.format(’2.877‘)) ----------# 输出: 2.877 |
:.2f | 按位字符串 | print(‘输出: {:.2f}’.format('2.877’)) ----------# 输出: 2.88 |