这里写目录标题
- 1、转换说明符作用
- 2、常用转换说明符
- 格式说明
- 3、进阶格式化字符
- 指定最小宽度
- 指定小数精度
- 字符串模板中按 key 指定变量
1、转换说明符作用
转换说明符起到格式化字符的作用,请看下面的两段代码
>>> name = 'Python'
>>>> age = 30
>>>> print('我叫' + name + ',今年' + str(age) + '岁')
我叫Python,今年30岁
>>> name = 'Python'
>>>> age = 30
>>>> print('我叫%s,今年%i岁' %(name,age))
我叫Python,今年30岁
从上面两段代码的第三行可以看出,第二段代码写法更简洁,并且更容易维护,内容更直观
2、常用转换说明符
转换说明符 | 说明 |
%i | 转换为带符号的十进制整数 |
%f | 转换为浮点数 |
%s | 转换为字符串 |
格式说明
- 转化说明符只是占位符一种,是会替换成后面表达式的值
%是分隔符,把转换说明符和表达式的值分隔开
3、进阶格式化字符
转化说明符还可以配合整数和小数完成指定最小宽度和小数位数的功能,还可以配合字典完成在字符串模板中按 key 指定变量
指定最小宽度
#最小的字符长度,如果变量的值长度不够,会在前面以空格补够到最小长度。如果字符长度超过最小宽度,
#那么这个最小宽度就没有任何意义了
>>> name = 'Python'
>>> print('%s' % name)
Python
>>> print('%10s' % name)
Python
指定小数精度
字符串模板中按 key 指定变量
当一个格式化的字符串时,如果转换说明符过多时,不易于维护并且容易出错
>>> print('我叫%s,今年%i岁;\n我叫%s,今天%i岁;我叫%s,今年%i岁'% ('Python',30,'Java',40,'C',50))
我叫Python,今年30岁;
我叫Java,今天40岁;我叫C,今年50岁
从上面看出,当转换说明符的数量过多时,表达式里的值和转换说明符对应起来很难
>>> print('我叫Python,今年%i岁;\n我叫Java,今天%i岁;\n我叫C,今年%i岁'% (30,40,50))
我叫Python,今年30岁;
我叫Java,今天40岁;
我叫C,今年50岁
>>> print('我叫python,今年%(python)i岁;\n我叫java,今天%(java)i岁;\n我叫c,今年%(c)i岁'% program)
我叫python,今年30岁;
我叫java,今天40岁;
我叫c,今年50岁