2.14 print的格式化输出

下图中展示了一些print的字符串格式化符号:

除了上述的这些,我们还有一些格式化操作符辅助指令:

下面我们来看一些具体的例子:

第一条语句中就是字符A,第二条语句中的虽然我们给出的值是65,但是它会被当成某一个字符的ASCII码,在这里呢,65表示的是大写的A,“%c”代表按照一个字符去输出,因此两条语句输出的值都是A:

单纯的输出八进制或十六进制数我们是看不出来的,因此我们可以在前面格式的部分多加上一个“#”,这样输出的时候可以更直观的分辨它是八进制、十进制还是十六进制数了。

“%f”如果没有指定小数点后的精度,它的默认精度是6位的:

当然还有一种更方便的方法是用“%g”,它会自动根据后面数字的大小决定它到底要输出多少,但是它所能表示的精度也是有限的:

下图的例子中,如果它本身的宽度就大于指定的值,那么就原样输出;如果小于指定的值,就会在前面补上空格(是右对齐的):

如果想要左对齐就要在前面加上“-”:

如果想要在正数前面显示正号就要在前面加上正号,如果是负数,当然显示的还是负号:

下图中,后面元组中的5就代表了星号所在位置的数,也就是说对pi保留5位小数的精度:

如果想要通过变量来填充格式控制字符串,那么可以使用运算符(%)和一个元组,在目标字符串中从左至右使用%来指代变量的位置。

比如下图中,元组中的第一个元素填充了%s的位置,而第二个元素填充了%.2f的位置(它的位置和元组中的顺序是一一对应的,如果类型不匹配将会报错):

我们也可以使用字典来对应填充:

Last updated