Python:Escape字符未被解释

Dan*_*han 6 python windows macos escaping character

出于某种原因,当我在代码中编写转义字符时,永远不会解释转义字符.我以前在Windows工作并且现在改为Mac的事实可能与它有关吗?在我在Windows工作之前,我从未遇到过这个问题.我试过搜索但没有找到任何相关内容.预先感谢您的帮助!

这是我的意思的一个例子:

print 'Hello \nWorld'
Run Code Online (Sandbox Code Playgroud)

从这个你期望得到:

>> Hello 
>> World
Run Code Online (Sandbox Code Playgroud)

但是IDLE确实打印出来:

>> 'Hello \nWorld'
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 6

你没有打印字符串,你正在打印字符串文字; 它是字符串表示:

>>> 'Hello\nWorld'
'Hello\nWorld'
>>> print 'Hello\nWorld'
Hello
World
>>> print repr('Hello\nWorld')
'Hello\nWorld'
Run Code Online (Sandbox Code Playgroud)

每当您在Python交互式解释器(或IDLE)中回显变量时,解释器都会将值回显给您:

>>> var = 'Hello\nWorld'
>>> var
'Hello\nWorld'
Run Code Online (Sandbox Code Playgroud)

但是,将值打印输出到同一位置,但完全是不同的操作:

>>> print var
Hello
World
Run Code Online (Sandbox Code Playgroud)

例如,如果我要调用一个打印的函数,并且该函数返回一个值,您会看到两个都回显到屏幕:

>>> function foo():
...     print 'Hello\nWorld'
...     return 'Goodbye\nWorld'
...
>>> foo()
Hello
World
'Goodbye\nWorld'
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,Hello并且World由函数打印,但是函数'Goodbye\nWorld'的返回值,解释器以它的表示形式帮助回复给我.