为什么在python中使用\n会导致两个空行?

5

我不明白为什么在输出中\n会产生两个空白行。例如:

>>> def my_function():
    print("ABC")
    print("\n")
    print("DEF")


>>> my_function()
ABC
                      # First blank line
                      # Second blank line
DEF
>>> 

有人可以解释一下这里发生了什么并如何修复吗?

2个回答

9

print()默认在输出末尾打印一个换行符。因此,print("\n")会打印两个换行符:一个在"\n"字符串中,另一个是在打印操作的结尾处。


6

当使用print函数输出内容时,Python会自动添加一个默认的换行符。

在Python3中想要不换行输出内容,请使用以下方法:

print("hello",end='')

来源: https://docs.python.org/3/whatsnew/3.0.html#print-is-a-function

Python 3.0 中的一个主要变化是print不再是语句,而是内置函数。因此,您现在必须使用括号将任何要打印的内容括起来,例如:print("Hello World") 。这样做可以使print与其他内置函数一致,同时避免了与print作为关键字的潜在冲突。

1
仅供回答者参考:尽可能地指出官方来源总是很好的,这样读者就可以深入了解。我已经编辑了你的答案,增加了以下来源链接: 来源:https://docs.python.org/3/whatsnew/3.0.html#print-is-a-function - ZeZNiQ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接