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.