python - 打印换行符有时不起作用。为什么?

Joo*_*ark 3 printing newline python-2.7

在Python 2.7中

print("hello\nJoonho")
Run Code Online (Sandbox Code Playgroud)

印刷

“你好

俊浩”

a=3
print(a, "\nhello\nJoonho")
Run Code Online (Sandbox Code Playgroud)

印刷

"(3, "\n你好\n俊浩")

您能解释一下为什么会发生这种情况吗?“print()”不是一个函数?以及如何解决这个问题呢?

Moh*_*itC 5

print始终为您提供在标准输出上打印的对象的可打印表示形式。当您说 时print(a, "\nhello\nJoonho"),这(a, "\nhello\nJoonho")是一个元组,因此表示为元组对象。

为了更清楚地了解这一点:如果您这样做,那么print(a, "\nhello\nJoonho")[1]它实际上会打印为

>>> print(0, '\nhello\nJoonho')[1]

hello
Joonho
Run Code Online (Sandbox Code Playgroud)

因为 [1] 表示的对象是一个字符串,并且 \n 被转换为字符串对象的 stdout 上的新行。