6

出于某种原因,当我在代码中编写转义字符时,转义字符永远不会被解释。我以前在 Windows 工作,现在改用 Mac,这与我有什么关系吗?在我在 Windows 中工作之前,我从来没有遇到过这个问题。我试过搜索,但没有找到任何关于此的内容。预先感谢您的帮助!

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

print 'Hello \nWorld'

从这里你会期望得到:

>> Hello 
>> World

但是 IDLE 会准确地打印出来:

>> 'Hello \nWorld'
4

1 回答 1

8

您不是在打印字符串,而是在打印字符串文字;它是字符串表示:

>>> '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'

在上面的例子中,HelloandWorld被函数打印出来,but'Goodbye\nWorld'是函数的返回值,解释器以它的表示形式帮助我回显。

于 2012-10-08T16:42:57.940 回答