![Python编程基础与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/854/41309854/b_41309854.jpg)
1.4.2 print()函数
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/35_03.jpg?sign=1738871482-9hNurVbwR2qAY6GhwnJxxTMcT0HjXtG2-0-fe08b5655cf2b0dd8c80712b1343932c)
1-8 print()函数
1.多变量输出
前面章节中使用print()函数时,都只输出了一个变量,但实际上print()函数完全可以同时输出多个变量,而且它具有更多丰富的功能。
print()函数的详细语法格式如下:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/35_04.jpg?sign=1738871482-oq9tQgXcsRA26TH6lUWI8pPailN6YZ12-0-a501fba33efcaac152a4a4b7f1f7b9e6)
式中,value参数可以接受任意多个变量或值,因此print()函数完全可以输出多个值。
【例1-19】 使用input()来输入数字,并转化为int。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/35_05.jpg?sign=1738871482-M87uLtj5jfkihakmXyROcqHiqFUb0UDz-0-e1ffe2b70b648893f02c73d2ec5d9c1a)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/35_06.jpg?sign=1738871482-w6U73luEErpGYi6ffZA9gKLz3trk0bO9-0-735e61771a2554d4ad2dee1fe45a9580)
从本例的输出结果来看,使用print()函数输出多个变量时,print()函数默认以空格隔开多个变量。如果希望改变默认的分隔符,可通过sep参数进行设置,如sep='|'等。
2.格式化字符串(格式化输出)
print()函数使用以%开头的转换说明符对各种类型的数据进行格式化输出,如表1-4所示。转换说明符是一个占位符,它会被后面表达式(变量、常量、数字、字符串、加减乘除等各种形式)的值代替。
表1-4 格式化输出转换说明符
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/36_01.jpg?sign=1738871482-QPOFDvP0jfbBb2QsuzEIiQ8DROveaLBV-0-dcf4037a0a652bca9bd92f436248df8f)
【例1-20】 使用格式化输出。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/36_02.jpg?sign=1738871482-8p4nzWQy5heFST6aovkb5z5lEqPt6EYg-0-d4483eb0edc074ab6de01338b69a00e6)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/36_03.jpg?sign=1738871482-lolPBaz7UxhfaGjoroWe09atOjuVbjdc-0-1cd57d8824eb4109d661d876e176cb80)
3.指定最小输出宽度
可以使用下面的格式指定最小输出宽度(至少占用多少个字符的位置):
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/36_04.jpg?sign=1738871482-Zk64Mk4AktXndVrnVZMMVwBeSUShfunQ-0-ea61af45f4e0a9298f546ba6bd931bf5)
【例1-21】 指定最小输出宽度。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/36_05.jpg?sign=1738871482-iklwUNS44gOQbBtEmIZck5dTNX6uUXKK-0-5ba9fc35b766377b3ce26c43d3b422ad)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/37_01.jpg?sign=1738871482-y2NM8vbU52PgM6oEQdZ1woYHRnvjxnH2-0-a17d59c89f8d112fdcb4b631ee56b2ba)
从本例的运行结果可以发现,对于整数和字符串,当数据的实际宽度小于指定宽度时,会在左侧以空格补齐;当数据的实际宽度大于指定宽度时,会按照数据的实际宽度输出,即num宽度为5,指定为%4d时,还是按照数据的实际宽度5进行输出。
4.指定对齐方式
在默认情况下,print()输出的数据总是右对齐的。也就是说,当数据不够宽时,数据总是靠右侧输出,而在左侧补充空格以达到指定的宽度。Python允许在最小宽度之前增加一个标志来改变对齐方式,Python支持的标志如表1-5所示。
表1-5 Python支持的标志
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/37_02.jpg?sign=1738871482-Uu9kxGv8K8GltyuznlFl6vfvupYQPgep-0-1eac90f465547369fe4dd2fb8ea4630e)
另外需要说明的如下。
1)对于整数,指定左对齐时,在右侧补0是没有效果的,因为这样会改变整数的值。
2)对于小数,以上3个标志可以同时存在。
3)对于字符串,只能使用“-”标志。
【例1-22】 指定对齐方式。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/37_03.jpg?sign=1738871482-ytZ2bKTY3tcrfD08JTsorxZQ2dfqobQB-0-fa59158fafcb0183aadf709879580d38)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/37_04.jpg?sign=1738871482-CNndRgvU9ad5DyGfxL5ret5CNUce9e48-0-5d8b980fee5571e40d97fac6b702f642)
5.指定小数精度
对于小数(浮点数),print()允许指定小数点后的数字位数,即指定小数的输出精度。精度值需要放在最小宽度之后,中间用点号“.”隔开;也可以不写最小宽度,只写精度。具体格式如下:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/38_01.jpg?sign=1738871482-9wTinysGVBwUPlJEvaWZuSKdqtzYJxmp-0-6a4123b2a52d564318e7a6073f72d202)
式中,m表示最小宽度,n表示输出精度,“.”是必须存在的。
【例1-23】 指定小数精度。
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/38_02.jpg?sign=1738871482-BwamnVYhmzHt8FoFHZDVnWy4t7cLqmO5-0-9cc8ba11dc2fe36b725a8fc30eb0f680)
运算结果:
![](https://epubservercos.yuewen.com/F38A38/21511156801516706/epubprivate/OEBPS/Images/38_03.jpg?sign=1738871482-PQMXcoevqChQl5igSy1X2eUi86AYAfJS-0-ea3632dfd4a0a0146e28eada04e77091)