EOL durante a varredura do literal de string em Python

Muhammad Maisam Abbas 22 outubro 2021
  1. Strings brutos em Python
  2. EOL durante a varredura do literal de string em Python
EOL durante a varredura do literal de string em Python

Este tutorial discutirá o erro de sintaxe EOL durante a varredura do literal de string em Python.

Strings brutos em Python

Strings brutos são usados ​​para especificar expressões regulares em Python. Antes das aspas iniciais, uma string bruta é declarada por um r ou R. Uma string bruta não precisa de nenhum caractere de escape e trata a barra invertida como uma string literal por convenção. O fragmento de código a seguir demonstra o funcionamento de uma string bruta.

print(r"\t\\")

Produção:

\t\\

Agora, vamos ver como isso ficaria em uma string normal.

print("\t\\")

Produção:

	\

A diferença é cristalina. Quando usamos uma string bruta, o interpretador python considera \t\\ como \t\\, mas quando usamos uma string regular, o interpretador Python considera \t\\ como uma guia e o seguinte \ como um caractere de escape para o último \.

EOL durante a varredura do literal de string em Python

A única limitação com essas strings brutas é que só podemos terminá-las com um número par de barras invertidas. Se uma string bruta termina com um número ímpar de barras invertidas, o interpretador Python mostra o erro de sintaxe EOL while scanning string literal. Isso ocorre porque, mesmo em strings brutas, as aspas podem ser escapadas por uma barra invertida. Com um número ímpar de barras invertidas no final, o interpretador pensa que a última barra invertida é usada para escapar das aspas de fechamento e continua procurando o final da string. Este fenômeno foi demonstrado no exemplo de codificação abaixo.

print(r'\t\\\')

Produção:

File "<ipython-input-1-d2ab522bcdab>", line 1
    print(r'\t\\\')
                   ^
SyntaxError: EOL while scanning string literal

Demonstramos o erro EOL while scanning string literal ao escrever strings brutas em Python.

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

Artigo relacionado - Python String