0

最近我做了以下观察:

>>> x= "\'"
>>> x
"'"
>>> y="'"
>>> y
"'"
>>> print x
'
>>> print y
'

谁能解释一下为什么会这样。我正在使用 python 2.7.x。我很了解转义序列。

我想做以下事情:我有一个带单引号的字符串,我必须在数据库中输入它,所以我需要用反斜杠替换单引号(')的实例,后跟单引号(\') . 我怎样才能做到这一点。

4

1 回答 1

6

在一对 中"",您不需要转义'字符。当然可以,但正如您所见,这是不必要的,也没有任何效果。

如果您要写 a 'inside a pair''或 a "inside a pair ,则必须转义""

x = '\''
y = "\""

编辑 :

关于问题的最后一部分,在编辑后添加:

我有一个带单引号的字符串,我必须将它输入数据库,所以我需要用反斜杠替换单引号(')的实例,后跟单引号(\')。我怎样才能做到这一点

以下任何一种方法都可以,请注意使用原始字符串来避免转义特殊字符:

v = "\\'"
w = '\\\''
x = r'\''
y = r"\'"

print v, w, x, y
> \' \' \' \'
于 2012-05-24T01:40:38.457 回答