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

all*_*kim 39 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,
Run Code Online (Sandbox Code Playgroud)

我不明白的是,打印命令结束时的情况.

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

不够了解,这是一个错误吗?(似乎不是.它来自官方教程).

我来自ruby/javascript,这对我来说很不寻常.

Ser*_*ial 46

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

例如:

for i in xrange(10):
     print i,
Run Code Online (Sandbox Code Playgroud)

这将打印

1 2 3 4 5 6 7 8 9 
Run Code Online (Sandbox Code Playgroud)

要在python 3中执行此操作,您可以这样做:

 for i in xrange(10):
      print(i,end=" ")
Run Code Online (Sandbox Code Playgroud)

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

在python中水平打印

----编辑---

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

除非print语句以逗号结尾,否则最后会写入'\n'字符.

  • 在 python 3 代码片段中,“xrange”应替换为“range” (2认同)

Mar*_*som 14

它可以防止print以换行符结尾,允许您将新行追加print到行尾.

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

  • 更像是必要的后果.当``print``是普通函数而不是语句时,你不能只是添加随机语法. (6认同)
  • 这似乎是一个明智的运动 (2认同)
  • @JIXiang我认为这是从旧语言复制的一个功能,我依旧记得看到一个以这种方式工作的BASIC.我同意Python 3的方式要好得多. (2认同)

sha*_*net 5

打印后Python尾部逗号执行下一条指令

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