Cuando desarrollamos un proyecto, es común que utilicemos partes del código en diferentes lugares. Para evitar repetirlo y organizar mejor nuestro programa, Python nos permite utilizar módulos. Un módulo es un archivo que contiene definiciones y declaraciones de variables, funciones o clases que pueden ser reutilizadas en otros archivos Python.
Para utilizar el código contenido en un módulo, lo primero que debemos hacer es importarlo. Esto se hace con la sentencia import. Al hacerlo, podemos acceder a las funciones, clases o variables definidas en ese módulo.
Ejemplo: Supongamos que tenemos un archivo llamado funciones.py con el siguiente contenido:
# funciones.py
def suma(a, b):
return a + b
def multiplicacion(a, b):
return a * b
Ahora, queremos utilizar estas funciones en otro archivo, que llamaremos principal.py En este caso, importamos el módulo completo:
# principal.py
import funciones
respuesta_suma = funciones.suma(10, 20)
print("La suma obtenida es: ", respuesta_suma)
respuesta_mult = funciones.multiplicacion(10, 20)
print("La multiplicación obtenida es: ", respuesta_mult)
La suma obtenida es: 30
La multiplicación obtenida es: 200
En este ejemplo, hemos importado el módulo funciones completo y accedimos a las funciones suma y multiplicacion usando la sintaxis funciones.suma() y funciones.multiplicacion()
Si solo necesitamos una parte específica de un módulo (por ejemplo, una función en particular), podemos importarla directamente. De esta manera, no es necesario acceder a las funciones utilizando el nombre del módulo.
Ejemplo: Si solo queremos usar la función suma de funciones.py, podemos hacer lo siguiente:
from funciones import suma
respuesta_suma = suma(10, 20)
print("La suma obtenida es: ", respuesta_suma)
La suma obtenida es: 30
En este caso, hemos importado solo la función suma desde el módulo funciones. Ya no es necesario anteponer el nombre del módulo (funciones.) antes de llamar a la función.
Si el programa principal tiene una función o variable con el mismo nombre que uno de los objetos que estamos importando, podríamos tener problemas de colisión de nombres. Para evitar esto, podemos utilizar alias mediante la palabra clave as.
Ejemplo: Imaginemos que en el programa principal también existe una función llamada suma. Para evitar confusiones, podemos darle un alias a la función importada: