我正在從官方文檔中閱讀python教程,並且遇到了這個 - >「在交互式解釋器中,輸出字符串用引號括起來,特殊字符用反斜槓轉義。並試了一下。交互式解釋器中的反斜槓
那麼,爲什麼它打印反斜線在第二輸出,同時它在第一輸出沒有?任何幫助將是appreciated.Thanks提前!
我正在從官方文檔中閱讀python教程,並且遇到了這個 - >「在交互式解釋器中,輸出字符串用引號括起來,特殊字符用反斜槓轉義。並試了一下。交互式解釋器中的反斜槓
那麼,爲什麼它打印反斜線在第二輸出,同時它在第一輸出沒有?任何幫助將是appreciated.Thanks提前!
當以這種方式顯示字符串時,如果其內容僅使用一種引用,則Python會使用另一種引用來環繞整個字符串,以使顯示更少混亂。你的第一個例子使用單引號(撇號),但沒有雙引號,所以Python能夠使用雙引號顯示它,而不必轉義任何東西。
你可以看到相反的行爲,如果你創建一個包含雙引號而不是單引號的字符串:
>>> 'a "quote" here'
'a "quote" here'
請注意,這裏的Python使用整個字符串周圍單引號。
在第二個示例中,您的字符串包含雙引號和單引號。這意味着一個或另一個必須被轉義,所以Python選擇(顯然是任意的)在整個字符串周圍使用單引號,並且轉義單引號。
字符串引號可以用反斜線轉義,但反斜線保留在字符串中;例如,r「\」「是由兩個字符組成的有效字符串文字:反斜槓和雙引號; r」\「不是有效的字符串文字
檢查this,因爲它可能也有幫助,前往2.4.1
感謝您的快速響應,您知道哪些報價將被轉義嗎?:# –
@PruthviRaj:如果兩個報價類型都出現在字符串中,Python總是會轉義單引號。不知道這是否是實際記錄的行爲,它只是它在我看來的樣子,是否有其重要的原因?這只是一個顯示問題;它不會影響字符串中的實際內容 – BrenBarn
不,不存在理由很重要,但我只想清楚理解,非常感謝你CH! ;) –