最近我提出這樣的觀察:詞法分析蟒蛇
>>> 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