Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

296
Vistas
¿Por qué Python no da ningún error cuando las comillas alrededor de una cadena no coinciden?

Empecé a aprender Python recientemente y no entiendo por qué Python se comporta así:

>>> "Está bien"
'OK'
>>> """OK"""
'OK'
>>> "no está bien"
  Archivo "<stdin>", línea 1
    "no está bien'
           ^
SyntaxError: EOL al escanear literal de cadena
>>> "no está bien"""
'no está bien'

¿Por qué no da un error para la última declaración ya que el número de comillas no coincide?

over 4 years ago · Hanz Gallego
4 Respuestas
Responde la pregunta

0

El """ final no se reconoce como una comilla triple, sino como un solo " (para cerrar el literal de cadena actual) seguido de una cadena vacía "" ; los dos literales de cadena yuxtapuestos están concatenados. El mismo comportamiento se puede reconocer más fácilmente poniendo un espacio entre el cierre y la apertura " .

 >>> "not OK" "" 'not OK'
over 4 years ago · Hanz Gallego Denunciar

0

"not OK"""

Python interpreta esto como "not OK"+""

Si das "not Ok""ay" , obtendrás el resultado como 'not Okay'

over 4 years ago · Hanz Gallego Denunciar

0

Pensarías que no hay diferencia entre " o ', pero en realidad, Python usa un método codicioso para aceptar entradas.

Una vez que Python ve una cita coincidente, entonces finaliza la declaración.

Es por eso que puedes escribir algo como "'s" "" . Dentro de la cadena hay un ' pero debido a que estás en una cadena, python no genera un error. Luego, después de eso, hay un " seguido de " pero esa es una cadena diferente (vacía).

Si hace algo como "s' entonces Python está buscando el siguiente " antes de ejecutar su comando.

over 4 years ago · Hanz Gallego Denunciar

0

Python usa una implementación similar a la pila para detectar la apertura y el cierre de las comillas. Si sabe qué es una pila, es una estructura de datos, en la que el último elemento se eliminará primero.

Suponga que su cadena es A = "''" Lo que hace es, por cada comilla simple o comilla doble que encuentre por primera vez, la agregará a la pila, y por cada segundo, la eliminará de la pila, a menos que, por supuesto, """ que se analizará como uno solo

En nuestro ejemplo, A = "''" , iterando sobre él, para los primeros 2 elementos, se agregarán a la pila y para los siguientes 2, se eliminarán.

Entonces, las comillas coincidirán, si y solo si, el número de elementos en la pila al final debe ser cero

over 4 years ago · Hanz Gallego Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda