在python中使用\n

在python中使用\n,python,string,python-2.7,python-3.x,Python,String,Python 2.7,Python 3.x,我目前正在学习python课程。在谈到转义序列时,他们提到了“\n”用于在新行中打印字符串。但是,当它以以下方式使用时,为什么会得到不同的输出 >>> st = "Hello\nWorld" >>> st 'Hello\nWorld' 但如果我这样做了 >>> print st Hello World 当你这样做的时候 st 这有点类似于 "\n" 您希望返回字符串\n,而不是新行 在这两种情况下,不会调用print函数,该函数实际上

我目前正在学习python课程。在谈到转义序列时,他们提到了
“\n”
用于在新行中打印字符串。但是,当它以以下方式使用时,为什么会得到不同的输出

>>> st = "Hello\nWorld"
>>> st
'Hello\nWorld'
但如果我这样做了

>>> print st
Hello
World
当你这样做的时候

st
这有点类似于

"\n"
您希望返回字符串
\n
,而不是新行

在这两种情况下,不会调用print函数,该函数实际上可以处理
\n
真正的含义。这就是为什么
print'Hello\nWorld'
的输出与

>>> 'Hello\nWorld'

有两个函数提供对象的字符串表示形式,
repr()
str()
。前者用于将对象转换为代码字符串,而后者提供用户友好的字符串

在命令行中输入变量名时,将使用
repr()
,并且
\n
字符显示为
\n
(作为代码)。使用
print
时,将使用
str()
,并且
\n
显示为新行(用户友好)


顺便说一下,
str
对于变量来说是个坏名字,因为它与内置的名称相同。

另请参阅另一个相关链接: