Cadena sin procesar en Python
- Cadena sin procesar en Python
- Cadenas sin formato no válidas en Python
- Uso de cadenas sin formato en Python
Hay muchas formas de representar cadenas en Python. Una forma de representar cadenas es convertirlas en cadenas sin formato.
Este tutorial definirá una cadena sin procesar en Python.
Cadena sin procesar en Python
La cadena sin formato en Python es cualquier cadena habitual con el prefijo r
o R
. Cualquier barra invertida (\)
presente en la cadena se trata como un carácter real o literal. Por ejemplo, si una cadena tiene \n
o \t
en el medio, se considerará un carácter y no un carácter de nueva línea
o de tabulación
.
Tomemos un ejemplo del uso del carácter de nueva línea \n
entre una cadena sin anteponer la cadena con r
o R
.
print("Hi\nHow are you?")
Producción :
Hi
How are you?
Ahora prefijamos toda la cadena con el carácter de cadena sin formato r
.
print(r"Hi\nHow are you?")
Producción :
Hi\nHow are you?
Como puede ver, el carácter de nueva línea \n
se trata como una cadena literal y no como un carácter especial.
Cadenas sin formato no válidas en Python
Una sola barra invertida \
no se considera una cadena sin formato válida en Python.
print(r"\")
Producción :
File "<ipython-input-6-6cdee2fbdda0>", line 1
print(r"\")
^
SyntaxError: EOL while scanning string literal
Uso de cadenas sin formato en Python
En Python, las cadenas sin procesar se utilizan para devolver una cadena cuando no se procesa en absoluto. Significa que si una cadena tiene el prefijo r
o una cadena sin formato
y esa cadena consta de cualquier carácter de escape no válido como \x
, entonces no se producirá un error.
Aquí tienes un código de ejemplo.
print("Hi\xHow are you?")
Producción :
File "<ipython-input-15-1056651b28e1>", line 1
print("Hi \x How are you?")
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 3-4: truncated \xXX escape
Tenga en cuenta que la cadena no tiene el prefijo r
y hay un carácter de escape no válido entre la cadena. Por tanto, se ha producido un error.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn