APRENDE PYTHON YA! Libro: Los pilares de Python. #16 — Las librerías

Ruben Ruiz
AI experiments en Español
3 min readAug 11, 2018

“Aunque mañana fuera el día del fin del mundo, yo plantaría todavía manzanos en el día de hoy.” — Martin Lutero

Las librerías o módulos en los lenguajes de programación son paquetes de código ya escritos por alguien con el objetivo de solucionar un problema en concreto.

Por ejemplo, imaginemos que estamos trabajando con áreas de geometría y tenemos que calcular el área de miles de formas geométricas. Si queremos hacer dicha tarea tendremos que escribir las funciones de los distintos cuerpos geométricos como el cuadrado, triángulo, el cubo, el cilindro…

“A library with filled bookshelves and blurred light bulbs hanging from the ceiling” by Janko Ferlič on Unsplash
def square(l): 
return l**2
def triangle(b,h):
return (b*h)/2
def cube(l):
return l**3

Una vez tengamos escritos dichas funciones, lo único que habría que hacer sería llamar a dichas funciones. Por ejemplo:

cube(10)#1000 

Pero y si alguna persona ya hubiera realizado ese trabajo por nosotros y hubiera guardado todas esas funciones en un fichero o conjunto de ficheros. Pues exactamente ese es el objetivo de las librerías, reutilizar el código y no hacer lo que comúnmente se llama en programación como reinventar la rueda.

A pesar de que lo que acabamos de hacer sea muy simple, hay muchas librerías que cubren aspectos más complejos de la programación e incluso están altamente optimizadas con otros lenguajes de bajo nivel como es el caso de la librería de Machine Learning creada por Google, Tensorflow.

¿Cómo podríamos nosotros crear una librería y reutilizar ese código que acabamos de crear?

Es muy fácil, lo único que hay que hacer es guardar el archivo que acabamos de crear con el nombre que queramos. Por ejemplo, geometric y posteriormente llamar a nuestra librería desde el mismo código.

Hay tres formas de llamar a una librería, siendo la última la más utilizada.

1/ Esta forma no es la recomendable ya que estamos importando todas las funciones que habíamos creado anteriormente y podría darse el caso de que si seguimos importando librerías se pudieran solapar las funciones causando un error o lo que es peor todavía que no nos avise que hay un error pero el resultado es totalmente diferente al que esperábamos.

from geometric import *print(cube(10))

2/ La segunda forma es llamar a la librería utilizando el comando “import”.

import geometricprint(geometric.cube(10))

3/ La tercera forma es asignar a la librería un “apodo o alias” de esta forma, cada vez que utilicemos una función tendremos que llamar a ese alias y seguido de un punto.

import geometric as geoprint(geo.cube(10))

Pero lo interesante es que puedes importar muchas más librerías de terceros. Además, tras haber instalado anaconda ya tenemos instaladas más de 100 librerías muy utilizadas.

¿Tengo que aprender las funciones o métodos de cada una de las librerías?

No, es imposible.

¿Cuales son las librerías más importantes de python?

Depende de a lo que tengas planeado desarrollar o especializarte. Por ejemplo, en Data Science se utilizan Pandas, numpy y SciPy. En Machine Learning, se utiliza tensor fow, scikit-learn y seaborn para visualización de datos. Si utilizas Python como herramienta para hacer scrapping en páginas web entonces utilizaras scrapy y pandas.

Como consejo, no te obsesiones con las librerías ni aprender todas sus funciones, sino en aprender su lógica detrás, entender las bases e incluso intentar hacer tu tus propias funciones con el objetivo de seguir aprendiendo.

— — — — — — — — — — — — — — The End — — — — — — — — — — — — —

Si te gusta esta pequeña y gratuita revista nos puedes ayudar simplemente compartiéndola o suscribiéndose a la publicación. Me llamo Rubén Ruiz y trabajo en Inteligencia Artificial en la industria financiera y como proyecto personal llevo esta pequeña revista donde experimentamos con Inteligencia Artificial … hasta que explota el ordenador :) Puedes seguirme en:

Instagram (Vida personal, es divertido) => @rubenruiz_t

Youtube (Canal sobre IA, intento que sea divertido )=> Rubén Ruiz A.I

Github (Donde subo mi código, esto ya no es tan divertido) => RubenRuizT

--

--