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