只输入print
只能在python中输入换行符。键入print
而不使用3.x中的括号也会给出换行符。为什么呢?
答案 0 :(得分:6)
因为the documentation这么说
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
将对象打印到文本流文件,以sep分隔,然后结束。 sep,end和file(如果存在)必须作为关键字参数给出。
所有非关键字参数都转换为字符串,如str(),并写入流,由sep分隔,后跟end。 sep和end都必须是字符串;它们也可以是None,这意味着使用默认值。 如果没有给出任何对象,
print()
只会写end
。file参数必须是带有write(string)方法的对象;如果它不存在或None,将使用sys.stdout。由于打印的参数转换为文本字符串,因此print()不能与二进制模式文件对象一起使用。对于这些,请改用file.write(...)。
输出是否缓冲通常由文件确定,但如果flush关键字参数为true,则强制刷新流。
版本3.3中已更改:添加了flush关键字参数。
请注意,end
默认为'\n'
这是一个新行。
答案 1 :(得分:1)
在Python 3中,print现在是一个函数。它将在语句末尾打印一个新行字符。
如果你没有指定"结束"默认情况下,它将使用换行符。
您可以通过执行以下操作来阻止此操作:
print("hello world", end="")
答案 2 :(得分:1)
有趣的是,语言在这方面有何不同。
Korn shell(ksh)中的 print
与python
具有相同的行为,即它添加换行符。 Bash没有print
,而是依赖于echo
,它也添加了一个换行符(就像python一样,可以被抑制)。
print
没有,并且引起了很多不便,添加了另一个名为say
的版本,它添加了换行符。
Ruby和PHP就像Perl一样print
也没有添加换行符。当嵌入HTML时,这当然不是问题。
如果您查看其他语言,例如here,您会发现对是否应添加换行符的意见分歧。在PEP259中讨论了删除Python中的换行符。
答案 3 :(得分:1)
因为print中的默认参数是\ n结尾, 虽然如果您将打印结束变量的参数传递为\ t或空格,那么您可以看到相同的!
但它的工作原理是2.7及以上!