¿Por qué PyCharm usa doble barra invertida para indicar que se está escapando?

Por ejemplo, escribo una cadena normal y otra cadena “anormal” como esta:

introduzca la descripción de la imagen aquí

Ahora lo depuro, encontrando que en la herramienta de depuración, la cadena “anormal” se mostrará así:

introduzca la descripción de la imagen aquí

Aquí está la pregunta:

¿Por qué PyCharm muestra barras invertidas dobles en lugar de una sola barra invertida? Como es sabido por todos, \' significa ' . ¿Hay algún truco?

Lo que creo que está sucediendo es que la cadena ' en su c variable debe escaparse y PyCharm lo sabe en el tiempo de ejecución, dado que ha rodeado la cadena completa " (lo notará en el depurador, su cadena c ahora está rodeada por ' ). Para escapar de la comilla simple, se cambia a \' , pero ahora, hay una \ en tu cadena que necesita escapar, y para escapar de \ en Python, escribe \\ .

EDITAR Déjeme ver si puedo explicar el orden de escape que está ocurriendo aquí.

  1. "u' this is not normal" se asigna a c
  2. PyCharm convierte la cadena en c a 'u' this is not normal' en tiempo de ejecución. Mira cómo, sin escapar del segundo ' , tu cadena ahora está cerrada justo después de u .
  3. PyCharm se escapa del ' automáticamente para usted agregando una barra antes de él. La cadena es ahora 'u\' this is not normal' . En este punto, todo debería estar bien, pero PyCharm puede estar dando un paso adicional por seguridad.
  4. PyCharm luego escapa de la barra que acaba de agregar a su cadena, dejando la cadena como: 'u\\' this is not normal' .

Es probable que sea un ajuste dentro de PyCharm. ¿Causa un problema real con su código?