literal de cadena de Python

Funciones y métodos de Python

Incluso los mejores desarrolladores cometen errores de sintaxis todo el tiempo cuando están codificando. Los lenguajes de programación tienen tantas reglas e incluso un error tipográfico puede provocar un error.

Si ha encontrado el error "error de sintaxis: EOL al escanear la cadena literal", no se preocupe. En esta guía, vamos a hablar sobre lo que significa este error y cómo solucionarlo. Analizaremos algunos escenarios de ejemplo para ayudarlo a identificar posibles causas y soluciones.

¡Comencemos!




El problema: error de sintaxis: EOL al escanear el literal de cadena

La sintaxis es como la gramática de un lenguaje de programación. El inglés tiene reglas que gobiernan la puntuación y la ortografía; Los lenguajes de programación tienen reglas similares.

Echemos un vistazo a nuestro error: & nbsp;

 syntaxerror: EOL mientras escanea la cadena literal 

El mensaje SyntaxError nos dice que no hemos seguido las reglas de sintaxis de Python .

La descripción del error indica que Python espera que aparezca un carácter en particular al final de una línea de código que no se encontró. Por ejemplo, Python puede esperar un carácter de cadena de cierre (& rdquo;) al final de una línea en la que ha abierto una cadena.

Si se encuentra un error de sintaxis, Python deja de ejecutar un programa. Esto se debe a que el intérprete de Python necesita que rectifique el problema antes de que pueda leer el resto de su código.

El 81% de los participantes afirmó que se sentía más seguro acerca de sus perspectivas laborales después de asistir a un campamento de entrenamiento. . Asigne a un bootcamp hoy mismo.

El graduado promedio de bootcamp pasó menos de seis meses en la transición de carrera, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Este error es comúnmente causado por :

  • Cadenas que abarcan varias líneas con la sintaxis incorrecta
  • Comillas faltantes
  • Comillas que no coinciden



Escenario de ejemplo: cadenas de varias líneas

En Python, las cadenas pueden abarcar varias líneas. La sintaxis de una cadena de varias líneas es diferente a la de una cadena tradicional. Las cadenas de varias líneas deben estar entre comillas triples o escritas con tres comillas.


Echemos un vistazo a una cadena de varias líneas:

 def welcome_hero (): message =" ¡Bienvenido, héroe! Acabas de entrar en el Castillo de la Perdición. Su desafío, si decide aceptarlo, es localizar la Esmeralda Sagrada y llevársela al vendedor ambulante. "Print (mensaje) welcome_hero () 

Hemos definido un función llamada welcome_hero () . Esta función imprime un mensaje en la consola. Este mensaje se asigna a la variable & ldquo; mensaje & rdquo ;.

Intentemos ejecutar nuestro código:

 Archivo" main.py ", línea 2 mensaje =" ¡Bienvenido, héroe! ^ SyntaxError: EOL mientras se escanea literal de cadena 

Se devuelve un error. Esto se debe a que una cadena que utiliza comillas simples o dobles no puede abarcar varias líneas. Para resolver este problema, necesitamos encerrar nuestra cadena con tres comillas simples o dobles. Cualquier texto que aparezca entre estos caracteres será parte de la cadena:

 message = "" "Bienvenido, héroe ! Acabas de entrar en el Castillo de la Perdición. Tu desafío, si decides aceptarlo, es localizar la Esmeralda Sagrada y llevársela al vendedor ambulante. "" "

Let & rsquo Intente ejecutar nuestro código con esta línea revisada. Nuestro código regresa:

¡Éxito! Nuestro código imprime el mensaje sin errores.




Escenario de ejemplo: comillas faltantes

Las cadenas deben cerrarse después de que se haya declarado el contenido de una cadena. De lo contrario, Python devuelve un error de sintaxis. Echemos un vistazo a una cadena que no está cerrada:

 def welcome_hero (): message =" ¡Bienvenido, héroe! print (mensaje) welcome_hero () 

Ejecutemos nuestro código:

 Archivo "main.py", línea 2 mensaje = "¡Bienvenido, héroe! ^ SyntaxError: EOL mientras se escanea la cadena literal 

Nos hemos olvidado de cerrar nuestra cadena. Si observa la línea de código donde declaramos el & ldquo; mensaje & rdquo; variable, no hay carácter de cadena de cierre.


Podemos corregir este error cerrando nuestra cadena usando las mismas comillas que usamos para abrir nuestra cadena.

 def welcome_hero (): message =" ¡Bienvenido, héroe! "print (mensaje) welcome_hero () 

Let & rsquo ; s ejecute nuestro código de nuevo:

 ¡Bienvenido, héroe! 

Nuestro código se ejecuta correctamente.




Escenario de ejemplo: comillas que no coinciden

El tipo de cita que usa para abrir una cadena debe ser el mismo que el tipo de cita que usa para cerrar una cadena .

Se devuelve un error de sintaxis cuando los tipos de comillas que usa para abrir y cerrar una cadena son diferentes. Echemos un vistazo a un programa que abre una cadena usando una comilla simple marca (& lsquo;) y cierra una barra ng utilizando & nbsp; una comilla doble (& rdquo;):

 def welcome_hero (): message = '¡Bienvenido, héroe!" print (mensaje) welcome_hero () 

Nuestro código devuelve:

 Archivo "main.py", línea 2 mensaje = '¡Bienvenido, héroe!" ^ SyntaxError: EOL mientras se escanea la cadena literal 

Podemos solucionar este problema haciendo que nuestras citas coincidan. Vamos a cambiar nuestra primera comilla para usar comillas dobles (& ldquo;):

"Career Karma entró en mi vida cuando más lo necesitaba y rápidamente me ayudó a combinar con un bootcamp. Dos meses después de graduarme, ¡encontré el trabajo de mis sueños que se alineaba con mis valores y metas en la vida! "

Venus, ingeniero de software en Rockbot

Nuestro código ahora se ejecuta correctamente: ¡Bienvenido, héroe!






Conclusión

El & ldquo; error de sintaxis: EOL al escanear el literal de cadena & rdquo; Todos los desarrolladores de Python experimentan un error. Este error ocurre cuando:

  • Olvidas cerrar una cadena
  • Cierras una cadena usando el símbolo incorrecto
  • Declaras una cadena múltiple -cadena de línea con una comilla en lugar de tres

Para solucionar este error, compruebe si alguna de las condiciones anteriores es verdadera. Luego, realice los cambios necesarios en su código. ¡Ahora está listo para comenzar a resolver este error como un experto en Python !





literal de cadena de Python: StackOverflow Questions

Tutorials