Publicado el 5 de Mayo del 2018
1.921 visualizaciones desde el 5 de Mayo del 2018
544,9 KB
59 paginas
Creado hace 10a (23/04/2014)
Módulos
Introducción a PYTHON
Cesar Husillos & Víctor Terrón
IAA-CSIC
Abril de 2014
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
1 / 59
Índice
1 Overview
2 Organización
3 Reutilización
4 ¿Cómo se crean los módulos?
5 ¿Cómo se usan los módulos?
6 Espacios de Nombres
7 Declaración y Ejecución
8 Paso de parámetros al módulo
9 Notas finales
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
2 / 59
Índice
Overview
1 Overview
2 Organización
3 Reutilización
4 ¿Cómo se crean los módulos?
5 ¿Cómo se usan los módulos?
6 Espacios de Nombres
7 Declaración y Ejecución
8 Paso de parámetros al módulo
9 Notas finales
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
3 / 59
Overview
Módulos
Overview: ¿Qué son?
Un módulo es un fichero que contiene codigo PYTHON.
Su extensión es .py.
Almacena declaración de variables e implementación de
funciones.
Posibilidad de hacer referencia a otros módulos (mediante
la instrucción import).
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
4 / 59
Overview
Módulos
Overview: ¿Para qué sirven?
La función principal es organizar el código.
Como resultado:
1 Nuestra mamá se sentirá orgullosa de nosotros
(“¡Qué límpi@ y ordenad@ es mi niñ@!” )
2 Será mucho mas sencillo reutilizar nuestro código.
Podremos publicar nuestro código para que lo use
cualquiera!!
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
5 / 59
Overview
Módulos
Overview: Ejemplo de modulo (areas.py)
""" M o d u l o para el c a l c u l o de a r e a s de f o r m a s b a s i c a s """
pi = 3.1416
def c u a d r a d o ( lado ):
""" C a l c u l a el area del c u a d r a d o a p a r t i r de su lado """
return lado ** 2
def circulo ( radio ):
""" C a l c u l a el area del c i r c u l o dado el r a d i o """
return pi * radio ** 2
print ’ Area c u a d r a d o = ’ , c u a d r a d o (2)
print ’ Area circulo = ’ , circulo (1)
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
6 / 59
Overview
Módulos
Overview: ¿Cómo se usan?
Pueden ser ejecutados desde consola
python areas.py
Pueden ser “llamados” por otros módulos o desde la
consola de PYTHON, mediante la instrucción
import areas
En la importación, se escribe el nombre del fichero
sin el .py.
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
7 / 59
Overview
Módulos
Overview: ¿Cómo se usan?
Se obtiene información sobre el contenido del
módulo mediante la instrucción
help(areas)
Se accede a su contenido con la sintaxis
nombreModulo.variable o
nombreModulo.funcion
print areas.pi; print areas.cuadrado(3)
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
8 / 59
Índice
Organización
1 Overview
2 Organización
3 Reutilización
4 ¿Cómo se crean los módulos?
5 ¿Cómo se usan los módulos?
6 Espacios de Nombres
7 Declaración y Ejecución
8 Paso de parámetros al módulo
9 Notas finales
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
9 / 59
Organización
Módulos
Organización del código
Todo empieza por programas simples (unas pocas
líneas, como mucho).
A medida que se aprende sobre PYTHON, la
complejidad de los programas aumenta.
El número de líneas pasa de decenas a cientos, y el
programa se vuelve “difícil” de revisar.
El problema se magnifica si usamos el programa de
otra persona o si el desarrollo se realiza entre varias.
La gente lleva mucho tiempo programando y este
problema no es nuevo. ¿Cómo se resuelve?
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
10 / 59
Organización
Módulos
Organización del código (II)
La tendencia normal es la de dividir el código
complejo en partes (funciones o módulos).
Éstas piezas o fragmentos de código se gestionan de
forma independiente (programación, pruebas,
mejoras,...) y luego se juntan en programas más
complejos.
Esto mismo es lo que aprenderemos en esta parte del
curso de PYTHON.
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
11 / 59
Índice
Reutilización
1 Overview
2 Organización
3 Reutilización
4 ¿Cómo se crean los módulos?
5 ¿Cómo se usan los módulos?
6 Espacios de Nombres
7 Declaración y Ejecución
8 Paso de parámetros al módulo
9 Notas finales
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
12 / 59
Reutilización
Módulos
Reutilización
En nuestro trabajo diario, nuestras tareas se centran
en temas concretos.
Desarrollamos código para resolver un problema.
Se plantea otro diferente y nos damos cuenta de
que nuestro programa se parece a parte de otro que
ya hemos hecho antes.
¿Trabajamos 2 veces?
Si colocamos nuestro código en módulos, podemos
1 Aprovechar lo que ya está hecho (no reinventar la
rueda).
2 Saber que lo que usamos funciona (ya probado).
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
13 / 59
Reutilización
Módulos
¿Cuánto hay desarrollado?
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
14 / 59
¿Cómo se crean los módulos?
Índice
1 Overview
2 Organización
3 Reutilización
4 ¿Cómo se crean los módulos?
5 ¿Cómo se usan los módulos?
6 Espacios de Nombres
7 Declaración y Ejecución
8 Paso de parámetros al módulo
9 Notas finales
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
15 / 59
¿Cómo se crean los módulos?
Módulos
Proceso de generación y uso
1 Creación.
2
Implementación.
3 Almacenamiento.
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
16 / 59
¿Cómo se crean los módulos?
Módulos
1. Creación
Un módulo es un fichero con extensión .py.
Basta con generar un fichero para tener un modulo
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
17 / 59
¿Cómo se crean los módulos?
Módulos
2. Implementación
1 Se escriben todas las definiciones de funciones,
clases, ... y el código ejecutable (asignaciones
bucles, prints, llamadas a funciones,...).
2 El código ejecutable puede servir:
Para inicializar las variables que se usarán en el código
(tanto del módulo como de un programa diferente).
Para realizar tareas concretas (leer ficheros, procesar
listas, actualizar una base de datos, descargar vídeos de
canales de Youtube,...).
Para ejecutar rutinas de testeo del módulo (necesarias
para comprobar que nuestras funciones realizan su tarea
correctamente).
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
18 / 59
¿Cómo se crean los módulos?
Módulos
3. Almacenamiento
Se refiere a la ruta, dentro del directorio de
ficheros, en la que almacenamos nuestro módulo.
Veremos que esta ruta es determinante para hacer
accesible nuestro módulo a otros programas que
pretendan reutilizarlo (variable PYTHONPATH).
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
19 / 59
¿Cómo se usan los módulos?
Índice
1 Overview
2 Organización
3 Reutilización
4 ¿Cómo se crean los módulos?
5 ¿Cómo se usan los módulos?
6 Espacios de Nombres
7 Declaración y Ejecución
8 Paso de parámetros al módulo
9 Notas finales
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
20 / 59
¿Cómo se usan los módulos?
Módulos
Utilización
Nuestro módulo ya está creado.
1 Para poder usar las funciones y variables que declara
debemos importarlo. La instrucción básica es
import n o m b r e _ m o d u l o
2 Para llamar a las variables y funciones del módulo
importado en nuestro nuevo código, ejecutaremos
instrucciones como
n o m b r e _ m o d u l o . v a r i a b l e
n o m b r e _ m o d u l o . funcion ([ parametro1 , parametro2 ,...])
donde variable y funcion, se sustituyen por
aquellos nombres que están declarados en el módulo.
Abril de 2014
21 / 59
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
¿Cómo se usan los módulos?
Módulos
Otras instrucciones de importación (I)
Importamos todo el módulo a nuestro espacio de trabajo con la instrucción
from n o m b r e _ m o d u l o import *
Ya no es necesario escribir nombre modulo.funcion([parametros]). Ahora basta con
función([parametros]).
Puedo importar sólo ciertas partes de módulo (ya sean funciones o variables).
from n o m b r e _ m o d u l o import v a r i a b l e
from n o m b r e _ m o d u l o import funcion
De nuevo, puedo hacer uso de lo importado simplemente escribiendo variable o
funcion([parametros]) donde sea necesario en mi código.
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
22 / 59
¿Cómo se usan los módulos?
Módulos
Otras instrucciones de importación (II)
Puedo generar un alias para un módulo (si el nombre es demasiado largo o difícil de
escribir)
from n o m b r e _ m o d u l o _ d i f i c i l _ y _ l a r g o _ d e _ e s c r i b i r as m o d a l i a s
Ahora puedo acceder al contenido del módulo como modalias.variable o
modalias.funcion([parametros]).
Finalmente, puedo poner alias a variables o funciones del módulo
from n o m b r e _ m o d u l o _ d i f i c i l _ y _ l a r g o import v a r i a b l e as v a r a l i a s
Podré acceder a ese contenido escribiendo sólo el alias varalias.
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Módulos
Abril de 2014
23 / 59
¿Cómo se usan los módulos?
Módulos
Overview: Ejemplo de modulo (areas.py)
""" M o d u l o para el c a l c u l o de a r e a s de f o r m a s b a s i c a s """
pi = 3.1416
def c u a d r a d o ( lado ):
""" C a l c u l a el area del c u a d r a d o a p a r t i r de su lado """
return lado ** 2
def circulo ( radio ):
""" C a l c u l a el area del c i r c u l o dado el r a d i o """
return pi * radio ** 2
print ’ Area c u a d r a d o = ’ , c u a d r a d o (2)
print ’ Area circulo = ’ , circulo (1)
Cesar Husillos & Víctor Terrón (IAA-CSIC)
Mó
Comentarios de: Módulos - Introducción a PYTHON (0)
No hay comentarios