Paquetes de Python

Solemos organizar nuestros archivos en diferentes carpetas y subcarpetas en función de unos criterios, para que puedan gestionarse de forma sencilla y eficaz. Por ejemplo, guardamos todos nuestros juegos en una carpeta Juegos e incluso podemos subcategorizarlos según el género del juego o algo así. La misma analogía es seguida por el paquete de Python. 

Un módulo de Python puede contener varias clases, funciones, variables, etc. mientras que un paquete de Python puede contener varios módulos. En términos más simples, un paquete es una carpeta que contiene varios módulos como archivos.

Crear paquete

Vamos a crear un paquete llamado mypckg que contendrá dos módulos mod1 y mod2. Para crear este módulo, siga los pasos a continuación: 

  • Cree una carpeta llamada mypckg.
  • Dentro de esta carpeta, cree un archivo de Python vacío, es decir, __init__.py
  • Luego cree dos módulos mod1 y mod2 en esta carpeta.

Mod1.py

Python3

def gfg():
    print("Welcome to GFG")

Mod2.py 

Python3

def sum(a, b):
    return a+b

La jerarquía de nuestro paquete se ve así: 

mypckg
|
|
---__init__.py
|
|
---mod1.py
|
|
---mod2.py

Entendiendo __init__.py

__init__.py ayuda al intérprete de Python a reconocer la carpeta como paquete. También especifica los recursos que se importarán de los módulos. Si __init__.py está vacío, significa que se importarán todas las funciones de los módulos. También podemos especificar las funciones de cada módulo para que estén disponibles.

Por ejemplo, también podemos crear el archivo __init__.py para el módulo anterior como: 

__init__.py

Python3

from .mod1 import gfg
from .mod2 import sum

Este __init__.py solo permitirá importar las funciones gfg y sum de los módulos mod1 y mod2.

Importar módulos de un paquete

Podemos importar estos módulos usando la sentencia from…import y el operador punto(.). 

Sintaxis:

import package_name.module_name

Ejemplo: importar módulo desde paquete

Importaremos los módulos del paquete creado anteriormente y usaremos las funciones dentro de esos módulos.

Python3

from mypckg import mod1
from mypckg import mod2
 
mod1.gfg()
res = mod2.sum(1, 2)
print(res)

Producción:

Welcome to GFG
3

También podemos importar la función específica también usando la misma sintaxis.

Ejemplo: Importar función específica del módulo

Python3

from mypckg.mod1 import gfg
from mypckg.mod2 import sum
 
gfg()
res = sum(1, 2)
print(res)

Producción:

Welcome to GFG
3

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *