You are on page 1of 17

APRENDIENDO PYTHON DESDE CERO PARTE 9 ( strings-metodos) Los metodos son simples funciones que se asocian a un determinado tipo

de objeto como en este caso las strings. Los metodos para las strings, funcionan solo para strings logicamente, si los queremos aplicar a otro tipo de objetos no funcionaran. Estos metodos estan preincluidos en python asi que no es necesario importar nada, y realizan funciones un poco mas complejas, los veremos a continuacion: Abramos la ventana interactiva: Si asigno una string a la variable a >>> a='japones' cuando en la siguiente linea tipeo a y a continuacion el punto me aparece una ventana con opciones.

Si recorro las opciones, veo los metodos, que ya trae incluidos python, para aplicar a una string, por ejemplo cuando aparece replace, apreto TAB.

Vemos que el metodo replace, lo que hizo fue reemplazar 'ja' por 'pi'

En a sigue estando 'japones', si quiero reemplazarlo definitivamente, debere asignarlo a otra variable, en este caso b. Ahora b contiene 'pipones' y a contiene 'japones' Aqu estan los metodos que trae incluidos python, en una lista luego los explicaremos.

En este tute, me ayuda mas y quizas es muy util que a la larga comencemos a usar un IDE un poco mas avanzado, no quiere decir que lo que se haga en un IDE, no se pueda hacer en otro, pero las ayudas que da usar un IDE mejor ya se empiezan a poner en evidencia aqu, y es bueno verlas, el IDE de activepython ayuda un poco, pero no mucho,sobre todo cuando haces scripts, en cambio el IDE que les voy a mostrar, ayuda muchisimo mas, sobre todo al programar scripts complejos. http://ricardonarvaja.info/WEB/OTROS/HERRAMIENTAS/V-W-X-Y-Z/Wing%20Ide %20Professional%202.0.4-1%20With%20Keygen%20En.rar alli esta con keygen y todo y se adjunta un tute de absolom porque activarlo es medio dificultoso por no decir un dolor de huevos, jejeje. Abro el WING ya activado, el mismo tiene una pestaa que es similar a la ventana interactiva de pythonwin llamada PYTHON SHELL, alli podremos tipear comandos sueltos, igual que en la ventana interactiva de pythonwin, quizas no es tan poderoso como la ventana interactiva de pythonwin, porque el poder del WING realmente se encuentra en su editor de scripts, que es el que mas ayuda a hacer programas de los que conozco, por eso es que lo utilizaremos a partir de ahora, porque ya cada vez utilizaremos menos la ventana interactiva, y mas la edicion de scripts.

Ahora comenzaremos a ver algunas ventajas que tiene la edicion de scripts en wing con respecto a otros editores.

Vemos que si creo un script vacio y solo apreto la a, me sale una lista de los comandos que python tiene incluidos que empiezan con a, y a la derecha si pongo en la pestaa SOURCE ASSISTENT, una explicacion de lo que hace cada uno, jeje, muchisima ayuda, en este caso como solo es la variable a, no hay que elegir nada sigo de largo escribiendo a=

Cuando termino de escrbir la variable a en la informacion me aparece

que es una variable string, y si cambio a la pestaa SOURCE BROWSER vere las variables que se van creando.

Volvamos al asistente SOURCE ASSISTANT.

Vemos que al igual que en el otro IDE me aparecen la lista de metodos para las strings, alli esta capitalize, pero al estar resaltado ya me aparece, el significado del metodo y como funciona.

Alli dice que el metodo capitalize, retorna una copia de la string, con la primera letra cambiada a mayuscula. Ademas me dice que se aplica a una string y que se debe escribir sin argumentos o sea con () al final. Con toda esa ayuda no necesito mas nada ya me dijo todo jeje.

Ahora imprimiremos la variable b

Al solo escribir la p me aparece la ayuda puedo elegir print y TAB o hacer doble click y se selecciona. Tambien en el menu de autocompletar me salen las variables que cree, aparece la b, la cual elijo.

Le agregue el RAW_INPUT al final y guardo con algun nombre en el menu FILE-SAVE AS.

Alli en el menu DEBUG, esta la opcion para ejecutar el script.

Alli vemos la salida que es la string 'Japones', a la cual le fue cambiada la letra inicial a mayuscula, gracias al metodo capitalize, si queremos tracear este script. Si quiero tracearlo apretando f7 que es STEP INTO me aparece un menu por si quiero cambiar algunas opciones se menu tiene una tilde que me da a elegir si no quiero que aparezca mas cada vez que corro el mismo script, la cambio y directamente acepto la ventana con OK y a tracear.

Alli estamos en la primera linea, al pasar a la segunda con f7, vemos abajo en la pestaa stack data los valores que van tomando las variables.

Tambien si hacemos click derecho en el nombre de la variable, nos mostrara donde se le asigno el valor resaltandolo.

Apretamos de nuevo f7 y en el stack data, vemos el valor que tomo b que es 'Japones' con mayuscula.

Ademas hay otra pestaa que se llama DEBUG I/O que muestra las entradas y salidas cuando estas debuggeando, si imprimis b, alli se debe ver.

Para pasar por encima del raw_input, debo apretar f6 que es STEP OVER si no dara error porque estoy intentando entrar dentro de un comando, y eso no se puede, para eso existe el STEP OVER o f6, logicamente si apreto f6 para pasar por encima, luego debo ir a la ventana de entrada y salida y ingresar el texto que me pide el raw_input y ENTER para que pase a la siguiente linea.

Tambien puedo poner Breakpoints

Si pongo un breakpoint debo saber que solo funcionara si el programa corre en modo DEBUG, si lo ejecuto, correra normalmente sin parar en ningun breakpoint. Al apretar DEBUG, correra hasta que encuentre un BREAKPOINT o algun error, o pare por algun motivo como algun input de teclado, por ejemplo. Veamos mas metodos para las strings. Si borro capitalize al tipear el punto sale la ayuda y marco CENTER

Que nos dice la ayuda

Bueno esta es un poco mas compleja pero no tanto

Si vemos cuanto vale b despues de tracear, en el stack data

Lo que hizo center, fue centrar la string 'japones' en otra de 20 lugares de largo que es el parametro que le pasamos, tiene un parametro mas opcional que por default, si no colocas nada, la centra entre espacios, pero uno puede elegir el carcter entre el cual se hara el padding para centrarse.

Si le pongo como segundo argumento una 'Y', luego traceo veo que en el stack me queda

Puedo seguir traceando hasta que imprima b, veo que la centro entre 20 letras y.

si le cambio

Lo paro, le doy f7, cuando llego al center y lo quiero pasar me da error

Y me lo dice muy grande, el segundo argumento debe ser un solo carcter, no una string, jeje logico no se puede hacer padding con dos letras, con un solo carcter es lo correcto, jeje. Pruebo usar la letra M de padding.

Ahora si, al tracear veo que hizo el padding usando la letra M.

El proximo metodo es COUNT

Bueno este retorna el numero de ocurrencias de una substring buscando en la string principal, tambien tiene la opcion de poner un slice para marcar donde quiero que comience a buscar y donde termine de buscar. La ayuda es tanta que cuando voy a poner el primer argumento

en la ayuda me muestra cual es el que le toca entrar.

El que no sabe, luego lo explicaremos con mas detalle, self es una definicion, no es un argumento en si, el primer argumento es el que esta marcado o sea la substring, alli no lo marque yo, si no el mismo IDE, diciendome que eso es lo que debo ingresar.

Cuando escribo el primer argumento y salto al siguiente, la ayuda tambien cambia al siguiente.

Como estos son opcionales por ahora no los usaremos, asi que usamos uno solo.

Al tracear y pasar el count vemos que b quedo valiendo 1, que es la cantidad de veces que se repite, 'po' dentro de 'japones'. Si cambio la palabra 'japones' por 'pompones' que tiene dos 'po' veamos que pasa.

Traceo con f7

y b toma el valor 2, y sigo traceando lo imprimira en la salida

Si le agrego los argumentos opcionales, en este caso buscara cuantas veces esta 'po' entre las posiciones 2 y 6 y logico solo una vez estara.

Luego de pasar el print

Vemos que imprime b que vale 1. Bueno vimos algunos los metodos mas sencillos, en la parte 10 seguiremos con mas metodos para strings. Hasta la parte 10 Bye bye