Módulos de Python

El módulo de Python es esencialmente un archivo de script de Python que puede contener variables, funciones y clases. Los módulos de Python nos ayudan a organizar nuestro código y luego hacer referencia a ellos en otras clases o scripts de Python.

Módulos de Python

A file containing Python definitions and statements is called a python module. So naturally, the file name is the module name which is appended with the suffix .py. For better understanding let’s create a python module to explore it completely. First create a file named printNumbers.py with the following contents.

def printForward(n):

    #imprimir de 1 a n
    for i in range(n):
        print(i+1)


def printBackwards(n):

    #imprimir de n a 1
    for i in range(n):
        print(n-i)

Ahora en el intérprete de Python importa este módulo con el siguiente comando;

import printNumbers

Este comando de importación buscará el archivo printNumbers.py en el directorio actual y en las ubicaciones de la variable PATH. Una vez que se encuentre el archivo, el código en el archivo estará disponible para que lo usemos. Ahora, para acceder a la función del módulo, debemos usar el nombre del módulo como se muestra a continuación: A veces, si el módulo es grande, para facilitar la llamada a la función, podemos cambiar el nombre de la importación como se muestra a continuación:

Importar una función específica de un módulo de Python

A veces es innecesario importar todas las funciones de un módulo de Python. Es posible que solo necesitemos una o dos funciones. En ese caso, podemos usar la siguiente variante de la declaración de importación: Una cosa a tener en cuenta aquí, al importar printForward, se incluye en la tabla de símbolos actual. Por lo tanto, no necesitamos llamar a la función como – printNumbers.printForward() Otra variante puede ser útil a veces. Aquí usamos el renombramiento como lo hicimos anteriormente para facilitar nuestro uso de la función. Además, si queremos importar todos los nombres que un módulo define, hay otra variante para la importación. Esto importa todos los nombres excepto aquellos que comienzan con un guion bajo (_). Pero esta no es una práctica ideal ya que esto introduce un conjunto desconocido de nombres en el intérprete.

Preguntas frecuentes sobre módulos de Python

Veamos algunas preguntas comúnmente formuladas relacionadas con los módulos de Python.

¿Cuáles son los módulos integrados en Python?

Hay muchos módulos integrados en Python. Algunos de los más importantes son – collections, datetime, logging, math, numpy, os, pip, sys y time. Puedes ejecutar el comando help('modules') en la shell de Python para obtener la lista de módulos disponibles.

¿Cuál es la diferencia entre un módulo y un paquete en Python?

Un paquete de Python es una colección de módulos de Python. Un módulo de Python es un único archivo de Python, mientras que un paquete de Python es un directorio que contiene varios scripts de Python y el archivo __init__.py que define los detalles del paquete.

¿Dónde puedo encontrar la lista de módulos de Python?

Puedes encontrar la lista de módulos de Python en su página oficial del Índice de Módulos de Python. Sin embargo, si estás buscando los módulos de Python disponibles para ti, entonces puedes ejecutar el comando help('modules') en la consola de Python para obtener la lista de módulos disponibles.

Python Modules List

Por favor, consulta este Repositorio de GitHub para obtener una lista de los módulos de Python más importantes y aprender sobre ellos a través de tutoriales específicos y programas de ejemplo.

¿Cómo puedo importar un módulo desde un directorio diferente?

Cuando intentamos importar un módulo de Python, se busca en el directorio actual y en la ubicación de la variable PATH. Entonces, si tu archivo de Python no está presente en estas ubicaciones, recibirás un ModuleNotFoundError. La solución es importar el módulo sys y luego añadir el directorio requerido a la variable de ruta. El siguiente código muestra el error cuando intentamos importar desde un directorio diferente y cómo lo soluciono añadiendo su directorio a la variable de ruta.

$ python3.7
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import test123
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'test123'
>>> import sys
>>> sys.path.append('/Users/pankaj/temp')
>>> import test123
>>> test123.x
10
>>> test123.foo()
foo
>>> 

Lista de módulos de Python

Hay miles de módulos de Python y cada día se están desarrollando más. Hemos escrito tutoriales para muchos módulos populares de Python. Simplemente sigue los enlaces de la tabla a continuación para aprender sobre estos módulos.

Referencias:

Source:
https://www.digitalocean.com/community/tutorials/python-modules