我对Python中的转义字符完全感到困惑。有时候我希望它输出一个单一的' /',它打印' //&#39 ;;有时我会使用' //'作为' /'它有效,但有时候它没有;等等......
一些例子:
print('\\hello') #output --> \hello
print(['\\hello']) #output --> ['\\hello']
那么我应该如何理解' \ hello',' \ hello'或者' \\你好'?任何人都可以更普遍地解释转义字符的机制吗?
答案 0 :(得分:2)
首先是将正确的字符放入字符串中的问题。然后是Python如何显示你的字符串的问题。可以用两种不同的方式显示相同的字符串。
>>> s = '\\asd'
>>> s
'\\asd'
>>> print(s)
\asd
在此示例中,字符串只有一个斜杠。我们使用两个斜杠来创建它,但这会产生一个包含一个斜杠的字符串。我们可以看到,当我们print
字符串时,只有一个斜杠。
但是当我们只是输入s
来显示字符串时,我们会看到两个斜杠。这是为什么?在那种情况下,解释器会显示字符串的repr
。这就是它向我们展示了生成字符串所需的代码 - 我们需要在代码中使用引号和两个斜杠来生成一个字符串,然后有一个斜杠(如s
那样)。
当您打印一个以字符串作为元素的列表时,我们将在列表中看到该字符串的repr
:
>>> print([s])
['\\asd']