打印function的结尾是什么?

此代码来自http://docs.python.org/2/tutorial/errors.html#predefined-clean-up-actions

with open("myfile.txt") as f: for line in f: print line, 

我不明白的是,在打印命令的最后。

我也检查了doc, http://docs.python.org/2/library/functions.html#print 。

没有足够的理解,这是一个错误吗?(似乎不是,这是从官方教程)。

我来自ruby / JavaScript,这对我来说是不寻常的。

在Python 2.7中,逗号就是显示string将被打印在同一行上

例如:

 for i in xrange(10): print i, 

这将打印

 1 2 3 4 5 6 7 8 9 

要在python 3中做到这一点,你会这样做:

  for i in xrange(10): print(i,end=" ") 

你可能会发现这个答案有帮助

在Python中水平打印

—-编辑—

文档http://docs.python.org/2/reference/simple_stmts.html#the-print-statement表示;

 A '\n' character is written at the end, unless the print statement ends with a comma. 

它可以防止print以换行符结束,允许您在行尾添加新的print

Python 3完全改变了这一点,尾随的逗号不再被接受。 您可以使用end参数来更改行尾,将其设置为空string以获得相同的效果。

从Python后面的逗号打印后执行下一条指令 :

  1. 在Python 2.x中,打印语句中的尾部会阻止发送新行。
  2. 标准输出是行缓冲的。 所以在发出新的一行之前,“Hi”不会被打印出来。