Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Importación de Módulos en Python: Guía Práctica con Ejemplos

¿Qué son los Módulos en Python?

Un módulo es un único archivo Python que puede contener variables, funciones y clases. Cuando nombras el archivo guru99.py, el módulo se accede como guru99. Los módulos te permiten dividir un programa grande en piezas lógicas, manteniendo tu código organizado y reutilizable.

¿Por Qué Importar Módulos?

Para usar código definido en otro archivo, debes importarlo. Importar te da acceso a las funciones, clases y variables del módulo, igual que la palabra clave import en lenguajes como JavaScript, Java o Ruby.

Creando e Importando un Módulo

Recorramos un ejemplo simple.

Estructura de carpetas:

modtest/
  test.py
  display.py

1. Crea test.py:

def display_message():
    return '¡Bienvenido a los Tutoriales de Guru99!'

2. Crea display.py e importa test:

import test
print(test.display_message())

Ejecutar display.py imprime:

¡Bienvenido a los Tutoriales de Guru99!

Importando una Clase desde un Módulo

Supongamos Car.py define una clase coche:

class Car:
    brand_name = 'BMW'
    model = 'Z4'
    manu_year = '2020'
    def __init__(self, brand_name, model, manu_year):
        self.brand_name = brand_name
        self.model = model
        self.manu_year = manu_year
    def car_details(self):
        print('Marca del coche es', self.brand_name)
        print('Modelo del coche es', self.model)
        print('Año de fabricación es', self.manu_year)
    def get_car_brand(self):
        print('Marca del coche es', self.brand_name)
    def get_car_model(self):
        print('Modelo del coche es', self.model)

Úsalo en display.py:

import Car
car_det = Car.Car('BMW', 'Z5', 2020)
print(car_det.brand_name)
car_det.car_details()
car_det.get_car_brand()
car_det.get_car_model()

Salida:

BMW
Marca del coche es BMW
Modelo del coche es Z5
Año de fabricación es 2020
Marca del coche es BMW
Modelo del coche es Z5

Usando from para Importar Items Específicos

Cuando solo necesitas unas pocas funciones o variables, impórtalas directamente:

from test import display_message
print(display_message())

Si intentas usar un nombre no importado, Python lanza NameError:

from test import display_message
print(display_message1())

Importando Todo desde un Módulo

Importa el módulo entero con import test y prefija nombres con el módulo, o importa todos los nombres al namespace actual con from test import *. Lo segundo es conveniente pero puede contaminar el namespace.

Entendiendo dir()

La función integrada dir() lista todos los atributos de un objeto, incluyendo los definidos en un módulo:

import Car
print(dir(Car))

Para librerías estándar:

import json
print(dir(json))

Trabajando con Paquetes (Packages)

Un paquete es un directorio conteniendo un archivo __init__.py y uno o más módulos. Por ejemplo:

Estructura de directorio:

mypackage/
  __init__.py
  module1.py
  module2.py
  module3.py

En module1.py:

def mod1_func1():
    print('Bienvenido a Module1 function1')
def mod1_func2():
    print('Bienvenido a Module1 function2')
# …

Importa con alias:

import mypackage.module1 as mod1
mod1.mod1_func1()
mod1.mod1_func2()

Ruta de Búsqueda de Módulos en Python

Cuando Python resuelve un import, verifica:

  1. El directorio de trabajo actual.
  2. Módulos built-in.
  3. Directorios listados en sys.path.

Inspecciónalo con:

import sys
print(sys.path)

Usando Alias para Módulos

Da a un módulo un nombre más corto para mejorar legibilidad:

import test as t
print(t.display_message())
print(t.my_name)

Imports Absolutos vs Relativos

En un proyecto multi-módulo, puedes referirte a módulos ya sea por su ruta completa (absoluta) o relativa al archivo actual.

Ejemplo Import Absoluto

from package1.module1 import myfunc1
# o
import package1.module1
package1.module1.myfunc1()

Ejemplo Import Relativo

from .module1 import myfunc1
# o
from .subpkg.module3 import myfunc3

Los imports absolutos son más claros y menos propensos a error cuando un proyecto se mueve, pero pueden volverse verbosos. Los imports relativos mantienen código conciso pero pueden ser más difíciles de rastrear en proyectos grandes.

Puntos Clave

python

  1. Módulos en Python: Creación, importación y uso avanzado
  2. Dominar el Módulo time de Python: Funciones, Structs y Ejemplos Prácticos
  3. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  4. Domine el Formateo de Strings en Python con format(): Ejemplos Claros
  5. Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
  6. Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
  7. Función round() en Python explicada con ejemplos prácticos
  8. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
  9. Python timeit(): medición de tiempo de ejecución con ejemplos prácticos
  10. Counter de collections en Python: conteo eficiente, actualización y operaciones aritméticas
  11. Entendiendo type() e isinstance() en Python: ejemplos prácticos