在 Python 中掃描字串文字時的 EOL 錯誤

Muhammad Maisam Abbas 2023年1月30日 2021年10月2日
  1. Python 中的原始字串
  2. 在 Python 中掃描字串文字時的 EOL
在 Python 中掃描字串文字時的 EOL 錯誤

本教程將討論在 Python 中掃描字串文字時的語法錯誤 EOL。

Python 中的原始字串

原始字串用於在 Python 中指定正規表示式。在起始引號之前,原始字串由 rR 宣告。原始字串不需要任何轉義字元,並且按照約定將反斜槓視為文字字串。以下程式碼片段演示了原始字串的工作方式。

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 錯誤。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

相關文章 - Python String