python

Importar archivos propios en Python – Uso de import

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.

Explicando import en Python – Importar archivos propios

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

3 días hace

Esta web usa cookies.