例如,我这样写一个正常的字符串和另一个“异常”的字符串:
现在我调试了一下,发现在调试工具中,“异常”字符串会这样显示:
问题是:
为什么 PyCharm 显示双反斜杠而不是单个反斜杠?众所周知,\'
就是'
的意思。有什么技巧吗?
最佳答案
我认为正在发生的是 c
变量字符串中的 '
需要转义,PyCharm 在运行时知道这一点,因为您已经将整个字符串包围在 "
(您会在调试器中注意到,您的 c
字符串现在被 '
包围)。为了转义单引号,它将它更改为 \'
,但是现在,您的字符串中有一个 \
需要转义,要在 Python 中转义 \
,您可以键入 \\
。
编辑 让我看看我是否可以在这里解释转义的顺序。
"u' this is not normal"
被分配给c
- PyCharm 在运行时将
c
中的字符串转换为'u' this is not normal'
。看看如何在不转义第二个'
的情况下,您的字符串现在在u
之后立即关闭。 - PyCharm 通过在其前添加斜杠自动为您转义
'
。该字符串现在是'u\' this is not normal'
。此时,一切都应该没问题,但 PyCharm 可能会采取额外的安全措施。 - 然后 PyCharm 转义它刚刚添加到您的字符串中的斜杠,将字符串保留为:
'u\\' this is not normal'
。
这可能是 PyCharm 中的一个设置。它会导致您的代码出现实际问题吗?
关于python - 为什么 PyCharm 使用双反斜杠表示转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36384471/