22 Modulos
22 Modulos
22 Modulos
Funciones y módulos
Agenda
1 Funciones
3 Alcance de variables
4 Módulos en Python
5 Paquetes en python
Funciones
Son unidades pequeñas dentro de una construcción más grande que genera
una salida esperada. Si se piensa en un televisor, cada botón en el control
remoto cumple una función (subir volumen, bajar volumen, cambiar el
canal, mutar, cambiar la fuente, ingresar al menú, etc.)
Ejemplo
def saludar():
nombre = input()
print("Hola", nombre)
saludar()
Hola Zeus
Ejemplo
def saludar(nombre):
print(’Hola’, nombre)
nombre = input()
saludar(nombre)
Hola Titán
Ejemplo
def saludar(nombre):
return ’Hola ’ + nombre
nombre = input()
print(saludar(nombre))
Hola Atenea
variable_argument(60)
variable_argument(100, 90, 67, 23, 10)
informar(nombre="Poseidón",edad=6000,ciudad="Olimpo")
Agenda
1 Funciones
3 Alcance de variables
4 Módulos en Python
5 Paquetes en python
unir_listas(avengers, nuevos_avengers)
print(avengers)
a = 45
func(a)
print(’En el programa principal a=’,a)
Agenda
1 Funciones
3 Alcance de variables
4 Módulos en Python
5 Paquetes en python
Alcance de variables
def func():
global k
k=k+7
print("La variable k tiene alcance global:",k)
k=10
func()
print ("Valor de la variable global k fuera de la función:",k)
Ejemplo (continuación)
La salida del código anterior es:
x = "sorprendente"
def myfunc():
global x
x = "fantástico"
Ejemplo (continuación)
La salida de este programa es:
Agenda
1 Funciones
3 Alcance de variables
4 Módulos en Python
5 Paquetes en python
Ejemplo (continuación)
Al crear el repositorio se crea un archivo main.py donde se espera este el
programa principal. El módulo será otro archivo con el nombre deseado,
en este ejemplo modulo.py:
Ejemplo (continuación)
En dicho archivo (modulo.py) se escriben las funciones y definiciones
propias del módulo, en este caso se agregarán las siguientes:
def sum1(a,b):
c = a+b
return c
def mul1(a,b):
c = a*b
return c
import modulo
x = 12
y = 34
print ("La suma es ", modulo.sum1(x,y))
print ("La multiplicación es ", modulo.mul1(x,y))
import modulo as md
x = 12
y = 34
print ("La suma es ", md.sum1(x,y))
print ("La multiplicación es ", md.mul1(x,y))
Para saber los métodos que tiene un módulo determinado se puede utilizar
la función dir.
Ejemplo (continuación)
Se modifica el archivo main.py para usar la función dir con el módulo
modulo:
import modulo
print ("Las funciones de modulo son:", dir(modulo))
import sys
for p in sys.path:
print(p)
Agenda
1 Funciones
3 Alcance de variables
4 Módulos en Python
5 Paquetes en python
Ejemplo (continuación)
1 aZip.py
def crear_zip(archivo):
print(’creando...’ + archivo + ’.zip’)
2 aRar.py
def crear_rar(archivo):
print(’creando...’ + archivo + ’.rar’)
3 aTar.py
def crear_tar(archivo):
print(’creando...’ + archivo + ’.tar’)
Para que una carpeta quede definida como un paquete, se le debe agregar
el archivo vacio __init__.py:
Ejemplo (continuación)
Se agrega el archivo vacio __init__.py a la carpeta comprimir
Usando el paquete
Para usar un paquete se debe importar el módulo sys y agregar el
directorio del paquete creado con sys.path.append e importar cada
módulo con from.
Ejemplo (continuación)
Se edita main.py para incluir el paquete comprimir para usarlo.
aZip.crear_zip("archivo")
aRar.crear_rar("archivo")
aTar.crear_tar("archivo")
Referencias