在 Python 中掃描字串文字時的 EOL 錯誤
Muhammad Maisam Abbas
2023年1月30日
2021年10月2日
本教程將討論在 Python 中掃描字串文字時的語法錯誤 EOL。
Python 中的原始字串
原始字串用於在 Python 中指定正規表示式。在起始引號之前,原始字串由 r
或 R
宣告。原始字串不需要任何轉義字元,並且按照約定將反斜槓視為文字字串。以下程式碼片段演示了原始字串的工作方式。
print(r'\t\\')
輸出:
\t\\
現在,讓我們看看這在普通字串中會是什麼樣子。
print('\t\\')
輸出:
\
區別非常明顯。當我們使用原始字串時,Python 直譯器將 \t\\
視為 \t\\
,但是當我們使用常規字串時,Python 直譯器將 \t
視為一個製表符,隨後的 \
作為最後一個 \
的轉義字元。
在 Python 中掃描字串文字時的 EOL
這些原始字串的唯一限制是我們只能以偶數個反斜槓結束它們。如果原始字串以奇數個反斜槓結尾,Python 直譯器會顯示語法錯誤掃描字串文字時 EOL
。這是因為即使在原始字串中,引號也可以用反斜槓轉義。末尾有奇數個反斜槓,直譯器認為最後一個反斜槓是用來轉義右引號的,繼續掃描字串的結尾。這種現象已經在下面的編碼示例中得到了證明。
print(r'\t\\\')
輸出:
File "<ipython-input-1-d2ab522bcdab>", line 1
print(r'\t\\\')
^
SyntaxError: EOL while scanning string literal
我們在 Python 中編寫原始字串時演示了 EOL while scanning string literal
錯誤。
Author: Muhammad Maisam Abbas
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn