La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

AYUDANTÍA 6 Más sobre... ¿Faiton?.

Presentaciones similares


Presentación del tema: "AYUDANTÍA 6 Más sobre... ¿Faiton?."— Transcripción de la presentación:

1 AYUDANTÍA 6 Más sobre... ¿Faiton?

2 Módulos Colección de métodos en un .py. Se utilizan como namespace (unidades de encapsulamiento). Se deben importar (no existe la exportación, ni aquí, ni en C, ni en Java). Se utiliza “import”. También se puede utilizar “from”, o “as”. Al importar los módulos, estos se buscan en el “PYTHONPATH” (En Unix sería /user/local/lib/python). No importa donde se haya instalado el interprete. (No olvidar que Python es un lenguaje de scripting). Para localizar el “PYTHONPATH” se puede utilizar sys.path.

3 Clases y Herencias Se hacen muy parecido a Java, también con la palabra reservada “class”. Tiene un constructor y un destructor (dentro de otros comprendidos en los símbolos implícitamente definidos). Aquí es donde se ve la Orientación a Objetos (no pura, aún así mucho más que Java) de Python. Sus métodos se diferencian con el argumento “self”. Se pueden crear datos pertenecientes a la clase implícitamente dentro del constructor de esta. Al ser mucho más puro (aún así NO PURO) respecto a la orientación a objetos, todo es un objeto, por lo que las clases y los métodos también lo son. Por esto mismo, no se usa “new” para crear objetos. La herencia se hace entre paréntesis (i.e. class Carnivoro(Animal): ). Python soporta herencia múltiple (i.e. class Planta(Carnivoro,Animal): ). En caso de colisión de nombres, se soluciona con depth-first. (clase -> superclase1.1 -> superclase 1.2 -> superclase 2.1 -> superclase2.2 -> etc...).

4 Errores y Excepciones Excepción: EVENTO QUE INTERRUMPE EL FLUJO NORMAL DE EJECUCIÓN. Existen las excepciones y los errores de sintáxis. Las excepciones se tratan (casi igual que en Java) con “try” y “except” y pueden ser saltadas o generadas con “raise” (como el “throw” en Java). Luego del “try-except” se puede especificar un “else”. Tipos de excepciones: ZeroDivision, ValueError, IndexError. Se puede capturar más de un error dentro del “except” (i.e. except(ZeroDivision, ValueError) ). Se pueden crear excepciones como objetos, siempre y cuando tengan como clase padre la clase “RuntimeError”.

5 Paquetes Manera de organizar los módulos. Pueden contener paquetes dentro (LOL). Si los paquetes no están en el PYTHONPATH, debe especificarse la dirección donde se encuentra el paquete que se desea importar.

6 Manejo de Archivos Ver archivo file.py
Dato freak: Las variables globales, como buena práctica, se escriben en mayúsculas.

7 Expresiones Regulares
. = Coincide con cualquier caracter excepto \n. ^ = Coincide el comienzo del string. * = Coincide 0 o más veces + = Coincide 1 o más veces ? = Coincide 0 o 1 vez Patrones de búsqueda para strings. Se compone de caracteres y metacaracteres (representan reglas). Metacarateres: [ ]: Agrupación ( [ . ], [ - ] ) ( ): Calza la expresión completa. \d: Caractéres decimales. (0 - 9) \w: Todo caracter alfanumerico (0-9, a-z, A-Z, _) Para crear un objeto de tipo expresión regular se utiliza compile().

8 Expresiones Regulares
Funciones search(string): Busca un string por el patrón match(string): Intenta calzar el patrón partiendo del principio. split(string): Divide el string dependiendo del patrón. findall(string): Retorna una lista de todos los calces. sub(replace,string): Reemplaza lo calzado con un string.


Descargar ppt "AYUDANTÍA 6 Más sobre... ¿Faiton?."

Presentaciones similares


Anuncios Google