通常来讲,print()函数不仅可以输出了个变量的值,也可以同时输出多个变量,而且它具有更多丰富的功能。print()函数的详细语法格式如下:
print(value1, value2,...., sep=' ', end='\n', file=sys.stdout, flush=False)
从上面的语法格式可以看出,value参数可以接受任意多个变量或值,因此print()函数完全可以输出多个值。例如如下代码:
IIn [4]: name = "张三"
In [5]: age = 28
In [6]: print("姓名:", name,"年龄:", age)
姓名: 张三 年龄: 28
从输出结果看,使用print()函数输出多个变量时,print()函数默认以空格隔开多个变量,如果希望改变默认的分隔符,可通过sep参数进行设置。例如输出语句:
#同时输出多个变量和字符串,指定分隔符
In [7]: print("姓名:", name,"年龄:", age, sep='|')
姓名:|张三|年龄:|28
默认情况下,print()函数输出之后总会换行,这是因为print()函数的end参数的默认值是"\n",这个"\n"就代表了换行。如果希望print()函数输出之后不会换行,则重设end参数即可。例如下面代码:
#不设置end参数,默认换行
print('aaa')
print('bbb')
print('ccc')
#设置end参数,指定输出之后不换行(使用制表符\t,使结果好看点)
print('aaa', '\t', end='')
print('bbb', '\t' end='')
print('ccc', '\t' end='')
#运行结果
aaa
bbb
ccc
aaa bbb ccc
print()函数的end和sep参数很容易被忽略,大家要记住,在一些特定场合下非常有用。。。
另外,file参数指定print()函数的输出目标,file参数的默认值为sys.stdout,该默认值代表了系统标准输出,也就是屏幕,因此pinrt()函数默认输出到屏幕。实际上,完全可以通过改变该参数让print()函数输出到特定文件中,例如下面代码:
In [11]: with open("test.txt", 'w') as f:
...: print("hello world...",file=f)
...: print("人生苦短,我学python...",file=f)
查看文件内容如下:
利用print()函数的file参数,可以直接将print()函数中的变量值或字符串直接写入到文件中,不需要使用f.write来写入。
print()函数的flush参数用于控制输出缓存,该参数一般保持默认False即可,这样可以获得较好的性能。