最近我提出这样的观察:词法分析蟒蛇
>>> x= "\'"
>>> x
"'"
>>> y="'"
>>> y
"'"
>>> print x
'
>>> print y
'
任何人都可以请解释为什么会这样。我正在使用Python 2.7.x.我对转义序列很了解。
我想要做以下事情: 我有一个带有单引号的字符串,我必须在数据库中输入它,所以我需要用反斜杠替换单引号(')的实例,然后单个引用(\')。我怎样才能做到这一点。
最近我提出这样的观察:词法分析蟒蛇
>>> x= "\'"
>>> x
"'"
>>> y="'"
>>> y
"'"
>>> print x
'
>>> print y
'
任何人都可以请解释为什么会这样。我正在使用Python 2.7.x.我对转义序列很了解。
我想要做以下事情: 我有一个带有单引号的字符串,我必须在数据库中输入它,所以我需要用反斜杠替换单引号(')的实例,然后单个引用(\')。我怎样才能做到这一点。
在一对""
里面,你不需要转义'
这个字符。你当然可以,但是正如你所看到的那样没有必要,也没有任何影响。
这将会是必要逃避,如果你写一个'
一对''
内或"
一对""
内:
x = '\''
y = "\""
编辑:
关于最后部分在问题中,编辑后添加:
我有一个字符串与单引号,并且我必须将其输入到数据库中,所以我需要用单引号(')替换单引号(')的实例,后跟单引号(\')。我怎样才能做到这一点
以下任何方式将工作,请注意使用的raw strings为避免需要特殊字符转义:
v = "\\'"
w = '\\\''
x = r'\''
y = r"\'"
print v, w, x, y
> \' \' \' \'
我不想逃避单引号我想添加一个反斜杠到字符串。我也尝试用反斜杠后跟单引号(\\')替换反斜杠,但它不起作用。 –
@AmanDeepGautam它是如何失败的?什么是“打印”\\“”'打印? –
@AmanDeepGautam我编辑了我的答案,现在它包含解决问题后编辑后显示的问题。如果它对你有用,请不要忘记接受这个答案。 –
什么是你期待相反,为什么? –
[Python的词法分析章节](http://docs.python.org/reference/lexical_analysis.html#string-literals)可能有帮助。 – Makoto
奥斯卡的回答解释了这里发生了什么。您可能会发现原始字符串也很有趣。 '>>> z = r“\'”' '>>> z' '“\\'”' – Darthfett