python3的print函数以及重定向

版权声明:本文为博主原创文章,未经博主允许可以转载。 https://blog.csdn.net/killeri/article/details/82822061

首先介绍一下print函数:
print([object1, object2, object3, …] [,sep=’ ‘] [end=’\n’] [file = sys.stdout])
也就是对于print所有的参数都是可选的,如果没有参数,print会打印一个换行符到标准输出

参数解释
object是要打印的对象,多个打印对象用逗号隔开
sep ->对于多个打印对象,之间用sep隔开,默认值一个空格
end ->打印末尾自动添加的,默认值是换行符
file ->打印的输出位置,默认值是标准输出,还可以是一个文件句柄。这样打印直接就进了文件中

以上都比较好理解,接下来说print和sys.stdout的关系:
sys.stdout.write(‘hello world’)这个也会在标准输出实现,其实吧!print就是python为你封装了一个sys.stdout.write的更好用的版本,怎么说呢?
例子:
print(1,2) ==>sys.stdout.write(str(1) + ’ ’ + str(2) + ‘\n’)
也就是说,print会自动调用str内置函数,将打印字符字符串化(sys.stdout.write()只能打印字符串)

也就是相对于sys.stdout.write()来说,print对(1)自动将打印对象字符串化,(2)在多个对象之间添加分隔符,(3)在末尾添加结束符

猜你喜欢

转载自blog.csdn.net/killeri/article/details/82822061