
3.1.1 输出函数print()

3.1.1 输出函数print()
在Python 3中,输出数据使用print()函数。
1.print()函数的语法格式
print()是Python的内建函数,可以直接使用。对于字符串和数值类型可以直接输出;对于变量,无论什么类型都可以直接输出。可以输出一个或多个对象,而且可以按照指定的格式输出。print()函数的语法格式如下:

说明:
1)可以一次输出多个对象value,用“,”分隔。例如,如下代码:

运行结果为:

2)sep用来间隔多个对象,默认值是一个空格。可以设置成其他字符。例如,如下代码:

运行结果为:

3)end用来设置以什么结束输出,默认值是换行符\n,即print()函数总是默认换行。通过换成其他字符串来实现换行与防止换行。例如,如下代码:

运行结果为:

也可以在end结尾加上换行符。例如,如下代码:

运行结果为:

2.print()函数应用实例
1)用print()在括号中加字符串,就可以向显示器上输出指定的文字。例如,输出“hello,world”,用代码实现如下:

运行结果为:

2)print()函数也可以接收多个字符串,用逗号“,”隔开,就可以连成一串输出,遇到逗号“,”就会输出一个空格。例如,如下代码:

运行结果为:

3)print()也可以输出数值型数据或者计算结果。例如,如下代码:

可以把100+200的计算结果显示得更直观一点,代码如下:

运行结果为:

注意:
对于100+200,Python解释器自动计算出结果300。但是,'100+200='是字符串而非数值表达式,所以原样显示字符串。
4)设置间隔符。例如,用“.”代替默认的空格,如下代码:

运行结果为:

3.数据的格式化输出
Python中,用%表示格式控制符和转换说明符的开始。
1)常用的格式字符如下。
%s:参数转换为字符串。
%d:参数转换为十进制整数。
%f:参数转换为浮点数。
例如,如下代码中,'The length of %s is %d'这部分叫格式控制符;%(str,x)这部分叫转换说明符。

运行结果为:

2)最小字段宽度和精度。
最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。
点(.)后跟精度值:如果需要输出实数,精度值表示出现在小数点后的位数。如果需要输出字符串,那么该数字就表示最大字段宽度。字段宽度中,小数点也占一位。例如,如下代码:

因为精度为3,所以小数点后只显示142。指定宽度为10,所以在左边需要补充5个空格,以达到10位的宽度。运行结果为:

3)转换标志。
-:表示左对齐。
+:表示在数值前加正负号。
""(空白字符,空格):表示正数之前保留空格。
0:表示若转换值位数不够则用0填充。
【例3-1】 数据的格式化输出示例。

运行结果为:

4.使用format()方法输出
在Python 3.0中,建议使用format()方法来代替%说明符。format()方法的语法格式如下:

说明:
1)"{[数字1|名称1]}{[数字2|名称2]}…"表示字符串对象,字符串中的参数使用“{数字或名称}”表示,0表示第一个参数,1表示第二个参数,依次递增;如果使用名称,则可以不按顺序排列;也可以不用数字,这样会按顺序填充。
2)“值”表示用于替换的值,如果省略“名称”,将依次替换。也可以不输入数字,format()方法会按位置顺序填充到字符串中,第1个参数是0,依次填充。同一个参数可以填充多次。
例如,在IDLE中输入下面的代码:

3)填充与格式化使用“{:[填充字符][对齐方式<|^|>][正负号<+|-|>][宽度.小数位数]f}”。
:号后面带填充的字符,只能有一个字符,如不指定则默认用空格填充;<、^、>分别是左对齐、居中、右对齐;在正数前显示+,负数前显示-,(空格)表示在正数前加空格;后面带宽度和小数位数,f表示按浮点数格式。例如:

【例3-2】 format()方法应用示例。

运行结果为:
