Import en Python

import en python

La sentencia import en聽Python聽es una聽declaraci贸n simple que permite importar c贸digo de otros ficheros. Este c贸digo se puede importar de ficheros que hayamos creado nosotros o paquetes externos, por ejemplo los de la librer铆a est谩ndar o los instalados con el administrador de paquetes (pip).

Diferencia paquete y modulo en Python

Antes de aprender a utilizar import en Python, conviene conocer que es un paquete y un m贸dulo de Python, y sobre todo saber diferenciarlos.

Cada uno de nuestros archivos .py se denominan m贸dulos y estos m贸dulos, a la vez, pueden formar parte de paquetes.

Un paquete, es una carpeta que contiene archivos .py. Para que una carpeta pueda ser considerada un paquete, debe contener un archivo de inicio llamado __init__.py.

Importar paquetes externos en Python

Ahora que ya sabemos que es un paquete y un m贸dulo vamos a ver como podemos importar estos m贸dulos con algunos ejemplos, ya que import en Python se puede utilizar de muchas formas. El uso depender谩 de lo que queremos importar y del gusto de cada uno.

El ejemplo m谩s sencillo ser铆a el siguiente:

import numpy

En este ejemplo estamos importando el paquete completo de numPy. Tambi茅n podr铆amos importar solo m贸dulos espec铆ficos de este paquete de la siguiente forma:

import numpy.compat

En este caso estamos importando solo el m贸dulo compat de numPy. Como digo hay multitud de forma de realizar la importaci贸n en Python.

Importar con alias en Python

Con este tipo de importaci贸n lo que conseguimos es asignarle un nombre a lo que importamos. Por ejemplo, al importar el paquete numPy normalmente se le da el nombre o el alias np, como se puede apreciar en el siguiente ejemplo:

import numpy as np

np.array([1,2,3])

En el c贸digo anterior estamos creando un array de numPy utilizando el alias que le hemos asignado en la importaci贸n.

Importar ciertos elementos en Python

Otra de las opciones disponibles ser铆a importar solo ciertas partes de un m贸dulo, por ejemplo una o dos funciones.

A continuaci贸n, podemos ver un ejemplo:

from numpy import array

array([1,2,3])

En este c贸digo estar铆a importando solo la funci贸n array de numPy. Una diferencia con el ejemplo anterior ser铆a que esta vez no tengo que utilizar un alias porque ya importo la funci贸n directamente.

Otras de las posibilidades de from con import en Python ser铆a importar todo un m贸dulo, vamos a verlo en el siguiente c贸digo:

from numpy import *

a1 = array([1,2,3])
a2 = array([1,2,3,4])
print(concatenate((a1,a2)))

Como se puede apreciar la importaci贸n total con from e import se realiza poniendo *. Podr铆as pensar que esto no tiene mucho sentido o utilidad, pero f铆jate como llamo a las dos funciones de numPy, se invocan directamente sin poner un alias ni nada porque hemos importado todo.

Este 煤ltimo ejemplo no suele ser muy habitual, pero lo menciono porque es una posibilidad.

Importar paquetes propios en Python

Al realizar la importaci贸n de nuestros propios m贸dulos podr铆amos utilizar todas las formas vistas anteriormente, pero siempre respetando la ruta donde se encuentre nuestro m贸dulo.

Por ejemplo, imaginar que tenemos esta disposici贸n en un proyecto:

鈹斺攢鈹 paquete 
  鈹溾攢鈹 __init__.py 
  鈹溾攢鈹 modulo1.py 
  鈹斺攢鈹 subpaquete 
   鈹溾攢鈹 __init__.py 
   鈹斺攢鈹 modulo2.py
鈹溾攢鈹 main.py

Ahora imaginar que queremos importar el modulo2.py en el fichero main.py, pues podr铆amos realizarlo de la siguiente forma:

import paquete.subpaquete.modulo2

Como pod茅is apreciar tenemos que respetar la ruta para importar el m贸dulo correctamente.

Deja un comentario