Python:Escape字符未被解释

时间:2012-10-08 16:42:23

标签: python windows macos escaping character

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

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

print 'Hello \nWorld'

从此你可以得到:

>> Hello 
>> World

但IDLE恰好打印出来:

>> 'Hello \nWorld'

1 个答案:

答案 0 :(得分:6)

您没有打印字符串,而是打印字符串文字;它是字符串表示:

>>> 'Hello\nWorld'
'Hello\nWorld'
>>> print 'Hello\nWorld'
Hello
World
>>> print repr('Hello\nWorld')
'Hello\nWorld'

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

>>> var = 'Hello\nWorld'
>>> var
'Hello\nWorld'

然而,将值输出到同一位置,但完全是一个不同的操作:

>>> print var
Hello
World

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

>>> function foo():
...     print 'Hello\nWorld'
...     return 'Goodbye\nWorld'
...
>>> foo()
Hello
World
'Goodbye\nWorld'

在上面的示例中,HelloWorld由函数打印,但'Goodbye\nWorld'是函数的返回值,解释器在表单中有助于回复给我它的代表性。