Saltar a contenido

Introduction to Libraries

Hemos hablado sobre cómo crear clases y funciones, funciones dentro de clases y otros conceptos simples. Todo esto ha estado dentro de un archivo de Python, también conocido como a module, pero sería genial si pudiéramos compartir el código dentro de este módulo con otras personas o reutilizarlo en otros proyectos. También sería útil reutilizar el código que otras personas han creado para nosotros, por ejemplo, código que nos permita comunicarnos con servidores web o incluso algo tan simple como obtener la fecha actual. Aquí es donde entran las libraries.

Una library en programación es, en muchos aspectos, similar a una biblioteca en la vida real. Es una colección de conocimiento que podemos aprovechar en nuestros proyectos sin reinventar la rueda. Una vez que import una library, podemos usar todo lo que contiene, incluyendo funciones y clases. Algunas libraries vienen incluidas junto con Python, por ejemplo, datetime, que nos permite obtener un objeto que representa la fecha y hora local actual.

Veamos qué clases y funciones contiene la library datetime. Para eso, usaremos la función integrada llamada dir().

Dir(datetime)

>>> import datetime
>>> dir(datetime)
['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo']

The datetime Library

import datetime

now = datetime.datetime.now()
print(now)  # Prints: 2021-03-11 17:03:48.937590

Como vemos, tenemos que llamar a datetime.datetime.now() para obtener el timestamp actual. Importamos la library, o module, datetime, que luego se vuelve accesible para ser referenciado por nombre. Este module también se llama datetime, el cual contiene una función now(). Así que, para llegar a la función now(), primero tenemos que referenciar el module, luego la clase y finalmente la función, todos "encadenados" usando puntos.

Esto puede volverse tedioso y desordenar el código, así que veamos formas alternativas de importar:

Importing a Class From a Library

from datetime import datetime

print(datetime.now())

Giving It a New Name

from datetime import datetime as dt

print(dt.now())

El ejemplo anterior contiene dos líneas en blanco entre la declaración de import y el código. Esto se debe a que la guía de estilo PEP-8, las pautas de Python para un Python "correcto", insta a los desarrolladores a agregar dos líneas en blanco entre las declaraciones de import y el código real. También sugiere usar la convención CapWords para los nombres de clases, pero señala una guía de estilo separada para los nombres integrados. Consulta https://www.python.org/dev/peps/pep-0008/#class-names para más información. Por esta razón, las clases como datetime están en minúsculas.

A continuación, profundizaremos en cómo instalar y gestionar libraries externas en Python.