En este tutorial de programación te mostraré cómo separar tu código para tenerlo en distintos archivos y luego usar import
para importar tu propio código Python. Es decir, importar tus propios archivos usando Python.
De esta manera podrás importar otras funciones o clases de distintos archivos programados por ti, usando la palabra reservada import
, del lenguaje Python.
Al final podrás tener un código más limpio y organizado; además de poder reutilizar las funciones que hagas. Te mostraré varios ejemplos y te dejaré mi recomendación.
Sintaxis básica
Para importar tu archivo, basta con que coloques el nombre del mismo después de “import”. Por ejemplo, si tu archivo se llama funciones.py
entonces debes indicar:
import funciones
En los ejemplos te mostraré cómo puedes importar solo una función, una clase, importar todo, renombrar, etcétera.
Archivo que vamos a importar
Primero veamos el archivo que vamos a estar importando en los otros módulos. Es un archivo simple que tiene 2 funciones y una clase, todo esto para ejemplificar la importación en Python:
def decir_hola():
print("Hola mundo")
def saludar(nombre):
print(f"¡Hola, {nombre}!")
class Punto:
def __init__(self):
print("Esto es el init")
from archivo import cosa
Usando esta sintaxis podemos importar una función o clase desde un archivo. Veamos un ejemplo:
from funciones import decir_hola
decir_hola()
De este modo podríamos importar solo las funciones o clases que vayamos a ocupar, y luego usarlas de manera separada.
Importar dos o más funciones
Modificando el ejemplo de arriba, si quisiéramos importar dos funciones, haríamos esto:
from funciones import decir_hola, saludar
decir_hola()
saludar("Parzibyte")
Importar todo lo que esté dentro de un archivo
En Python igualmente podemos importar todas las funciones, variables o clases que existan dentro de un archivo y tenerlas disponibles de manera global como si las hubiésemos declarado en el archivo en donde estamos importando.
Aquí el ejemplo:
from funciones import *
decir_hola()
saludar("Parzibyte")
Importar archivo conservando su namespace
Si bien no estamos usando namespaces o esas cosas, me gusta llamarlo así. Te aviso que este es mi método recomendado, y es en el que importamos todo el archivo; pero para acceder a sus métodos usamos archivo.cosa
.
Veamos el siguiente ejemplo en donde importamos el archivo completo:
import funciones
funciones.decir_hola()
funciones.saludar("Parzibyte")
Este es mi método favorito porque no importa si hay 2 funciones con el mismo nombre, si las mismas están en un archivo distinto, podemos invocarlas sin problemas por separado, ya que las mismas van a estar aisladas.
Por cierto, también se pueden importar clases:
import funciones
funciones.decir_hola()
funciones.saludar("Parzibyte")
p = funciones.Punto()
Alias al importar en Python
Para terminar este tutorial te mostraré cómo puedes cambiar el nombre de una función o clase al importarla. Se puede hacer usando as
como se ve en el siguiente ejemplo:
from funciones import decir_hola as dh
dh()
También funciona para cambiar el nombre de todo un paquete que estás importando (ya sea un paquete nativo, de PIP o un archivo tuyo):
import funciones as f
f.decir_hola()
f.saludar("Parzibyte")
Conclusión
Así es como podemos importar nuestros propios archivos, clases, variables o funciones en Python para tener todo separado y aislado.
Recuerda que es una buena práctica separar los conceptos y hacer nuestro código reutilizable, además de tener las cosas separadas para que el mantenimiento de las mismas sea más fácil.
Ya te dije anteriormente que te recomiendo el ejemplo 3, mismo que puedes renombrar como el segundo fragmento de código del ejemplo 4.
Finalmente te dejo aquí el repositorio con los ejemplos vistos en el post. No olvides que puedes leer más sobre Python en mi blog.
Muchas gracias, muy bien explicado, quedó clarísimo.