什么是格式符?
对格式符,我的理解是只能输出对应格式的东西,比如说我要求年龄输出必须是整数,其他类型都不行,那就必须是整数,其实我觉得有点正则表达式的味道在里面,当然这个格式符也没必要去记。用到了再去查也可以,只需要要练一遍就行了
%[(name)][flags][width][.precision]typecode
如上所示,格式符是以%开头的一种符号
1.(name)表示我们设值得key,即通过key就可以去取到值,比如:
name='张林'
age=24
newstr="我的名字是%(n)s,年龄%(a)d"%({"n":name,"a":age})
print(newstr) //这里需要注意得是格式符有个顺序问题,也就是必填得typecode必须放在最后;
2.width表示输出得值共占多少位,比如:
newstr="我的名字是%(n)5s,年龄%(a)d"%({"n":name,"a":age})
输出结果是:我的名字是 张林,年龄24
3. flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。比如:
tag=2 newstr="%02d"%tag print(newstr)
4. .precision表示小数得精度:
tag=5.666 newstr="%.8f"%tag print(newstr)
最后还有一个typecode是必填得,意思是控制输出得类型,我们到底应该输出什么类型,也可以作一些转换;
tag=16 newstr="%o"%tag print(newstr) 20
%s字符串 (采用str()的显示)
%r字符串 (采用repr()的显示)
%c单个字符
%b二进制整数
%d十进制整数
%i十进制整数
%o八进制整数
%x十六进制整数
%e指数 (基底写为e)
%E指数 (基底写为E)
%f浮点数
%F浮点数,与上相同
%g指数(e)或浮点数 (根据显示长度)
%G指数(E)或浮点数 (根据显示长度)
最后注意一点就是不能讲十进制转成二进制输出,也就是没有%b这个格式符;