You are on page 1of 8

APRENDIENDO PYTHON DESDE CERO PARTE 6 ( strings y secuencias de escape) Ya vimos en la parte anterior, que la comilla simple y la comilla

doble, sirven para lo mismo, y que realmente pueden utilizarse indistintamente y tambien para poder insertar el otro tipo de comilla dentro.

Asi que si quiero usar una string que tiene una comilla simple, la encierro entre comillas dobles y viceversa, python reconocera las comillas externas, y tratara la interna como un carcter mas. Otra caracteristica de la concatenacion de strings que no vimos, es la posibiilidad de poner una string al lado de la otra y la concatenara tambien.

Normalmente se usa el +, pero se puede hacer de ambas formas.

SECUENCIAS DE ESCAPE Si colocamos dentro de una string una barra invertida \ , dependiendo del carcter siguiente se ejecutara una accion. s = 'a\nb\tc' si tenemos esta string y la imprimimos

Vemos que el resultado fue: a b c

Que ocurrio aqu? La barra invertida seguida de la letra n, es un salto a la linea siguiente, no se imprime, simplemente se interpreta como que queres seguir imprimendo en la siguiente linea, y la barra invertida seguida de la t, es una tabulacion por eso la c sale separada de la b.

Explicaremos ahora una por una las secuencias de escape Anular barra siguiente:

Poner una barra invertida adelante de otra, \\ , lo que hace es deshabilitar la barra invertida que esta a continuacion, asi se interpreta como un carcter comun, o sea que si quiero anular el efecto de alguna barra invertida, poniendole otra delante, se anulara.

Alli vemos que queremos imprimir un path 'c:\pepe\new', pero la \n que se encuentra en el medio, se interpretara como un salto a la siguiente linea, la forma de hacerlo, es poner otra barra invertida delante de la \n asi ignora el salto y lo copiara como caracteres.

Ahora si, podiamos haber tambien agregado la r delante para hacer una string cruda como vimos en los capitulos anteriores.

Pero muchas veces no queremos anular la funcionalidad de TODAS las secuencias de escape que haya si no solo de algunas, para estos casos es conveniente usar la barra invertida agregada.

En este ejemplo queria imprimir los paths uno abajo del otro, y use el salto de linea \n que esta entre ambos paths, mientras que los otros dos saltos de linea que necesitaba que no se ejecuten, les agregue la barra invertida adicional. Si hubiera hecho una string cruda se anularian los 3 saltos de linea y no lograria lo que quiero, poner los dos paths uno abajo del otro.

Anular comllla simple:

Si colocamos una barra invertida seguida de la comilla simple, \' , por ejemplo si quiero que alguna comilla se interprete como el carcter de comillas y se imprima asi, y no se use como comienzo de string le pongo delante una barra invertida y se imprimira como comilla. Si quiero escribir en python por ejemplo

python me da error porque la string se cierra en la comilla del medio, si a esta la anulo, agregandole una barra invertida delante.

Vemos que el resultado es el predicho, la comilla intermedia se interpreto como carcter y las otras como el comienzo y final de la string. Anular comillas dobles:

Si colocamos una barra invertida seguida de la comilla doble, \ , es similar al anterior, hara que la comilla se imprima como tal y no funcione como comienzo o final de string.

Campana:

Si colocamos una barra invertida seguida de la letra a , \a , es un efecto de campana, si hacemos un script.

al correrlo desde linea de comandos veremos que antes de imprimir pepe, suena un aviso sonoro, dentro de la ventana interactiva solo se muestra como el carcter BEL, por lo poco usado. Salto atras

Si colocamos una barra invertida seguida de la letra be, \b , significa realizar un espacio atrs, si realizamos este ejemplo

y lo corremos en una ventana de comandos

Vemos que realmente escribe pepe, luego corre el cursor tres lugares atrs, uno por cada \b, y luego escribe papa, por eso queda ppapa, ya que al retroceder el cursor y volver a escribir encima, borramos lo que habia alli. En la ventana interactiva nos muestra lo que haria pero segn como este configurada lo ejecuta o no, en este caso nos muestra BS que significa que haria BACKSPACE o salto atrs alli.

por default solo ejecuta los codigos importantes y como saltos de linea y tabulacion., el resto los muestra solamente. Alimentacion de formulario

Es muy poco usado realmente pero es bueno conocerlo si colocamos la barra invertida delante de la letra efe, \f , es un comando que permite el avance de pagina a la impresora.

En la ventana interactiva lo muestra como FF, si lo ejecutaramos en un script, alli funcionaria perfectamente permitiendo avanzar el papel de la impresora, realmente muy poco usado hoy dia. Salto de linea:

Uno de los mas importantes, si colocamos la barra invertida delante de la letra n, se produce un salto a la linea siguiente, como si al escribir apretamos la tecla enter.

Alli vemos en el ejemplo cada \n, me salta a la linea siguiente donde continua imprimiendo. Retorno de carro:

La letra r luego de la barra invertida se interpretara como retorno de carro.

La diferencia con el salto de linea segn el sistema esta en esta nota:

Tabulacion horizontal:

Si coloco la barra invertida delante de la letra te , \t , se ejecutara una tabulacion.

Tabulacion vertical:

si colocamos luego de la barra invertida la letra ve, \v , se ejecutara una tabulacion vertical, la ventana interactiva solo la muestra, no es de las mas importantes pero es bueno conocerla.

Valor hexadecimal y octal:

Si coloco la barra invertida y luego la letra equis, \x , interpretara que lo que hay a continuacion es un valor hexa

Si hago un print del mismo, imprimira el caracter ASC correpondiente a dicho valor hexa. Aqu tenemos la tablita de las correspondencias entre DECIMAL, HEXADECIMAL, OCTAL y el caracter que se imprime.

Como vemos el hexadecimal 41 corresponde a la A, por eso se imprimio en el ultimo ejemplo la misma.

Si quiero imprimir la A pero usando numeros octales, en la misma linea veo que corresponde al 101, veamos que pasa.

El octal se puede ingresar directamente luego de la barra invertida y en este caso el octal 101, corresponde al carcter A. Bueno con esto ya conocemos los carecteres de escape mas conocidos, algunos nos serviran otros nos molestaran, y sabemos como anularlos, poniendoles una barra invertida mas delante, si no queremos que se ejecuten, normalmente al usar paths que tienen la barra invertida incluida, tendremos el problema de que al intentar abrir un archivo que se encuentra por ejemplo en c:\windows\files no funciona, y es que \f es un carcter especial de escape, y hay que ponerle otra barra delante para que no se ejecute y se reconozca e imprima como \f.

al agregarle la segunda barra anulamos el \f

es muy importante entender bien esto para evitar problemas al tratar de ejecutar archivos y manejar strings de paths, que tengan las secuencias de escape que acabamos de estudiar. Hasta la parte 7 Ricardo Narvaja