打印功能的结尾逗号是什么?

时间:2013-09-20 04:37:53

标签: python

此代码来自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,这对我来说很不寻常。

4 个答案:

答案 0 :(得分:39)

在python 2.7中,逗号表示该字符串将打印在同一行

例如:

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=" ")

您可能会发现此答案很有用

Printing horizontally in python

----编辑---

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

  

最后写一个'\ n'字符,除非print语句以逗号结尾。

答案 1 :(得分:13)

它可以阻止print以换行符结尾,允许您将新的print附加到该行的末尾。

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

答案 2 :(得分:4)

来自Python trailing comma after print executes next instruction

  1. 在Python 2.x中,print语句中的尾随,会阻止发出新行。
  2. 标准输出是行缓冲的。因此,在发出新行之前不会打印“Hi”。

答案 3 :(得分:0)

在python 2.7中:

print line,

在python 3.x中:

print(line, end = ' ')