You are on page 1of 8

APRENDIENDO PYTHON DESDE CERO PARTE 7 ( strings en accion ) Esta parte sera de ejemplos y usos de las strings, algunos

ya los hemos visto y practicaremos, otros los aprenderemos a medida que los vamos viendo, para que queden bien claros. Abrimos la ventana interactiva de python. >>> a= 'Estamos practicando strings' >>> print a Estamos practicando strings >>> len (a) 27 En este ejemplito asignamos la string a la variable a, luego la imprimimos y luego le hallamos el largo, en los ejemplos siguientes utilizaremos las strings que ya estan asignadas como en este caso la variable a, asi que no cierren la ventana interactiva, sino se perderan las asignaciones y cambios que le vayamos haciendo a las variables. Asi que tenemos una string almacenada en la variable a, de 27 caracteres de largo, si a b le asignamos a*2, deberia quedar en b con el doble de largo.

Jeje, y si era muy facil, jeje. A veces repetir una string, parece algo trivial, pero pensemos el siguiente ejemplo, quiero imprimir una linea horizontal. >>> print '____________________________________________________________' es bastante fastidioso, repetir tantas veces una tecla, para hacer una linea, mas facil es >>> print '_' * 80 en este caso de largo 80, y si nos quedo larga, podemos cambiar el numero facilmente hasta que se adapte al tamao deseado.

Ya vimos que podemos hacer una iteracion para imprimir las letras de una string.

Este es un bucle que crea una variable x, que recorrera las letras que tiene a, y las imprime una a una, la coma que hay despues del print evita que salte a otro renglon, luego de imprimir cada letra, si le quito la coma.

Cada vez que imprime un carcter, salta a la linea siguiente:.

Si asigno a la variable dias el valor 30, y en la string siguiente hago un format string con formato decimal, se reemplazara el %d, por el valor que tenga la variable dias en ese momento, siempre que sea numerico, ya que %d pide un numero. Otra forma de buscar caracteres o partes de una string, es la siguiente ya vimos el comando find, pero existe otra forma.

En este ejemplo pregunto sil a string ''zip' esta o no, dentro de 'pepe.zip', como la halla, me devuelve True o sea que es verdad que esta incluida, en la segunda parte, pregunta si doc esta dentro de pepe.zip y como no esta devuelve False o falso. Aunque todavia no estudiamos los for y los if, les muestro un ejemplo que es facilmente entendible. Primero asigno a la variable a= 'pepe.zip' y luego hago

es una especie de detector si en el nombre de una archivo esta incluida la palabra zip, si la halla, imprime 'archivo zipeado', si no la encuentra imprime 'archivo no zipeado', si cambio la string que hay en a y pongo una que no tenga incluida la string zip, y luego ejecuto el if, me dira archivo no zipeado. Aunque no hemos visto aun como deben construirse los if, aqu hay algo que nos daremos cuenta facilmente.

Ahi vemos lo que en python se llama indentacion, o sangria, como python es un lenguaje que no usa llaves }} para determinar como en este caso el formato de los if, si entraste o no en un nivel interno del mismo, se realiza el mismo trabajo mediante la llamada indentacion, al escribir el if y apretar ENTER.

Vemos que el cursor se coloca automaticamente como si hubieramos tabulado, para que respetemos la indentacion, porque lo que vamos a tipear, solo se ejecuta si la condicion del if es valida, si no sigue al else: ya explicaremos el tema de la indentacion mas adelante, pero es bueno ver que si corro el cursor de donde me sugiere.

El error me dice, que en la segunda linea esta esperando un indented block, o sea que nos olvidamos de dejar el tabulado necesario alli, la indentacion esta incorrecta. Algunos ejemplos de indices y slices que vimos en las partes anteriores.

Creo que esto quedo suficientemente claro, lo unico que nos habia quedado en el tintero es que un indice negativo cuenta de atrs de la string para adelante, o sea que si tengo una string a='navidades' por ejemplo.

En el caso de que usemos numeros negativos, el primero de atrs hacia adelante es la 's' el -1, luego la 'e' el -2 y asi consecutivamente. O sea si usamos indices positivos :

Y si usamos indices negativos:

CONVERSION DE STRINGS Hemos visto que podemos que concatenar strigs,pero no podemos concatenar strings con enteros (recordar que para ello existen los format strings) Si por ejemplo quiero concatenar la string pepe con el numero 1, salta el error que me dice claramente que no puedo concatenar strings con integers.

La forma correcta con un format string es:

Haciendolo con format string no hay problema, reemplezara %d, por el numero 1. Tambien se puede usar la funcion str para convertir el numero 1 en la string '1' asi podemos concatenarlo facilmente

str convierte el numero entre parantesis a la string correspondiente

Luego que esta convertido a string podremos concatenarlo, repetirlo y aplicarle cualquier operacin como a una string mas. La operacin opuesta es la que convierte una string de numeros al numero correspondiente int ('42')

De esta forma puedo transformar una string de numeros, al numero correspondiente y hacer operaciones como si fuera un numero mas.

En este ejemplo, la funcion int convierte la string 42 en el numero 42, al cual luego le sumamos 89. Existe tambien una operacin para convertir strings que representan numeros de punto flotante o sea con coma.

Dicha operacin es float, en este caso convierte la string '1.5', al numero correspondiente el cual despues podemos realizarle las operaciones como a cualquier numero.

Alli float convierte la string '1.5' al numero 1.5 al cual le sumamos luego el numero 89 CAMBIANDO STRINGS Una limitacion del lenguale python es que puede leer de una string un determinado indice, pero dara error al tratar de asignarle un valor diferente al mismo, la misma string es inmutable, al asignarle nuevos valores por medio de indices.

Probemos esto:

Tenemos en la variable a, asignada la string navidades, si vemos a [0] es la n, si queremos asignarle otro carcter me da error dice que este objeto no soporta este tipo de asignacion.

Pero si lo hacemos asignandolo a una nueva variable b, donde construimos una nueva string, podemos armar la que queremos, primero ponemos la u que queriamos asignar, y luego de tomamos de a, usando indices, toda la string menos el primer carcter, al sumarlo obtenemos el mismo resultado, una string que tiene la u en vez de la a inicial. EJEMPLOS DE FORMAT STRING Asigno a la variable llamada de, la siguiente string >>> de='UUUUUUUUUUUUY' al tipear >>> a= 'Al ver la factura telefonica exclamo %s que barbaridad'% de y imprimir a o al ver su contenido

Vemos que el format string reemplazo el %s por el contenido de la variable de, que tiene que ser una string, ya que %s se utiliza para reemplazar por strings solamente. Se pueden combinar diferentes format strings en la misma instruccin: a= 'Al ver la factura telefonica exclamo %s que barbaridad me cobraron %d pesos ' %(de,500) aqu dentro de la string hay un %s y un %d, por lo que al final de la misma, debere poner entre parantesis, las entradas que deben respetar el orden como en este caso, la primera es una string, y la

segunda el numero 500, si cambio el orden que espera en este caso (string, numero) dara un miserable error jeje, pero mientras le vayamos pasando en el formato correcto y en el orden correcto, no hay problema.

En el siguiente ejemplo tenemos 3 entradas en el format string "%d %s %d you" % (1, 'spam', 4)

Siempre dbemos mirar cual es la string en este caso "%d %s %d you" y ir reemplazando una a una para ver que quedaria, el primer %d lo reemplazo por el primer numero dentro del parentesis, en este caso 1. 1 %s %d you" luego hay un %s, lo reemplazo por la string que debe estar a continuacion dentro del parentesis. "1 spam %d you" luego nos queda el tercero, lo reemplazamos por el tercer numero del paremtesis "1 spam 4 you" Asi obtenemos el resultado, creo que se entiende. En la parte 8 seguiremos con mas sobre strings, practicando y aprendiendo. Hasta la parte 8 Ricardo Narvaja

You might also like