Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

670
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!