格式化输出
- 方法一:用%
- 方法二:用format()函数
- 设置输出的内容的宽度和小数位数
方法一:用%
直接用print()函数对字符串进行输出,是没有进行格式化控制的。
格式化,是对输出内容的显示方式进行设置。
首先,要知道以下常用符号的含义:
格式描述符号 | 含义 |
---|---|
%s | 字符串 |
%d | 十进制整数 |
%f | 浮点小数 |
%e | 浮点指数 |
现在利用以上符号,就可以进行格式化输出了。
格式命令的一般使用:
“格式描述符”%变量名
格式描述符也可以把它当做占位符,先拿个符号占据位置,形成完整的句子,每次输出时,再把变量名关联的内容放进去,得到最终的输出效果。
从上面例子可以发现,一个输出里可以有多个占位符,后面用括号把多个变量括起来,如第6行。
另外,在输出小数的时候,在%和f之间加入“.数字”,可以设置输出的小数位数。
方法二:用format()函数
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
基本格式:
“{} ”.format(变量或字符串)
format()里面的内容可以是字符串,数字或者变量。
{}的数量和后面的内容个数可以不一致。
{}里为空时,默认第一个{}引用后面第一个值,即{0}
第二个{}默认第二个值,即{1}
如上图第5行,多个{}时,根据里面的数值去引用后面的内容
设置输出的内容的宽度和小数位数
直接看例子
# 最小宽度的整数
print("{:5d}".format(12))# 宽度对于比填充更长的数字不起作用
print("{:2d}".format(1234))# 浮点数的填充
print("{:8.3f}".format(12.2346))# 最小宽度为0的整数
print("{:05d}".format(12))# 填充用0填充的浮点数
print("{:08.3f}".format(12.2346))
当您运行该程序时,输出将是:
121234 12.235000120012.235
在第一个语句中,{:5d}采用整数参数并指定最小宽度5。由于未指定对齐方式,因此它向右对齐。
在第二个语句中,您可以看到宽度(2)小于数字(1234),因此它不需要在左边留任何空格,也不会截断该数字。相当于无效。
在第三条语句中,{:8.3f}将小数部分截断为3位,12.2346四舍五入最后两位数字。而且,该数字现在为12.235,整个宽度为8,在左侧保留2个位置。
如果要用零填充其余位置,请在格式说明符之前放置零。它适用于整数和浮点数:{:05d}和{:08.3f}。
更多关于格式化输出的,可以看这个https://www.cainiaojc.com/python/python-methods-string-format.html