最新消息: 新版网站上线了!!!

python2.* print语句和python3.* print()函数的区别

在Python 2里,print是一个语句。无论你想输出什么,只要将它们放在print关键字后边就可以。在Python 3里,print()是一个函数。就像其他的函数一样,print()需要你将想要输出的东西作为参数传给它。

NotesPython 2Python 3
printprint()
print 1print(1)
print 1,2print(1,2)
print 1,2,print(1,2, end=' ')
print >>sys.stderr,1, 2,  3print(1,2, 3, file=sys.stderr)
  1. 为输出一个空白行,需要调用不带参数的print()

  2. 为输出一个单独的值,需要将这这个值作为print()的一个参数就可以了。

  3. 为输出使用一个空格分隔的两个值,用两个参数调用print()即可。

  4. 这个例子有一些技巧。在Python 2里,如果你使用一个逗号(,)作为print语句的结尾,它将会用空格分隔输出的结果,然后在输出一个尾随的空格(trailing space),而不输出回车(carriage return)。在Python 3里,通过把end=' '作为一个关键字参数传给print()可以实现同样的效果。参数end的默认值为'\n',所以通过重新指定end参数的值,可以取消在末尾输出回车符。

  5. 在Python 2里,你可以通过使用>>pipe_name语法,把输出重定向到一个管道,比如sys.stderr。在Python 3里,你可以通过将管道作为关键字参数file的值传递给print()来完成同样的功能。参数file的默认值为std.stdout,所以重新指定它的值将会使print()输出到一个另外一个管道。


转载请注明:谷谷点程序 » python2.* print语句和python3.* print()函数的区别