{"id":1479,"date":"2020-03-06T14:29:42","date_gmt":"2020-03-06T19:29:42","guid":{"rendered":"https:\/\/v3.ricardoromo.co\/?p=1479"},"modified":"2020-03-19T16:52:38","modified_gmt":"2020-03-19T21:52:38","slug":"7-librerias-para-python-que-deberias-conocer","status":"publish","type":"post","link":"https:\/\/v3.ricardoromo.co\/2020\/7-librerias-para-python-que-deberias-conocer\/","title":{"rendered":"7 Librer\u00edas para Python que deber\u00edas conocer"},"content":{"rendered":"\t\t
Python es hoy en d\u00eda uno de los lenguajes de programaci\u00f3n m\u00e1s importantes en el mundo del desarrollo, ya sea por su facilidad para aprender, su comunidad o su gran cantidad de paquetes y librer\u00edas. Precisamente de las librer\u00edas es de lo que hablaremos en este art\u00edculo, tanto si ya eres un desarrollador avanzado o si apenas estas empezando, te mostrar\u00e9 unas cuantas librer\u00edas que podr\u00edan serte \u00fatiles a la hora de escribir c\u00f3digo en python.<\/span><\/pre>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t1. Pprint<\/a><\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\tEmpezamos con una utilidad muy sencilla, la podemos usar para imprimir de una manera m\u00e1s legible, algunas estructuras complejas en python, como las listas o los diccionarios. Esto puede ser \u00fatil al hacer debug a nuestros c\u00f3digos ya que representa de una manera m\u00e1s ordenada estas estructuras de datos.<\/span>
Lo puedes ver f\u00e1cilmente en este c\u00f3digo de ejemplo:<\/span><\/pre>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\timport pprint <\/code>
diccionario = {'usuarios':{'user1':{'nombre':'Ricardo', 'edad':30, 'puesto':'director'}, 'user2':{'nombre':'Juan', 'edad':40, 'puesto':'ejecutivo'}, 'user3':{'nombre':'Carlos', 'edad':60, 'puesto':'director'}}} <\/code>
print('-'*10,'Impresion Normal','-'*10)<\/code>
print(diccionario) <\/code>
print() <\/code>
print('-'*10,'Impresion con Pprint','-'*10) <\/code><\/pre>pprint.pprint(diccionario)\n
<\/code><\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\tPprint hace parte de la librer\u00eda est\u00e1ndar de python, por lo cual no es necesario descargar nada.<\/span><\/span><\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t2. PyQt<\/a><\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\tCon esta librer\u00eda puedes darle una interfaz gr\u00e1fica a tus proyectos, PyQt es un framework de aplicaciones Qt multiplataforma. Puedes crear f\u00e1cilmente una interfaz gr\u00e1fica para tu aplicaci\u00f3n, ya sea escribiendo c\u00f3digo o utilizando el editor gr\u00e1fico Qt Designer. A mi parecer es m\u00e1s \u00fatil usar el editor gr\u00e1fico, de esta manera separas la l\u00f3gica del dise\u00f1o y ahorras bastante tiempo en el desarrollo de la interfaz.<\/span><\/span><\/pre>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t
Dise\u00f1ador Grafico<\/figcaption><\/figure><\/a><\/div>
Interfaz creada<\/figcaption><\/figure><\/a><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<\/i>\n\t\t\t\t\t\tAnterior<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t<\/i>\n\t\t\t\t\t\tSiguiente<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\tPara instalar PyQt es necesario tener Anaconda o Miniconda instalado, en este art\u00edculo<\/a>, en la \u00faltima parte te ense\u00f1o como instalar anaconda en linux, en windows solo es necesario descargar el instalador. Una vez configurada anaconda, corremos los siguientes comandos:<\/span><\/pre>conda update –all<\/span><\/p>conda install qt<\/span><\/p>conda install pyqt<\/span><\/p>Te recomiendo este articulo<\/a> si te interesa saber mas sobre esta librer\u00eda y como crear tus primeras interfaces.<\/span><\/pre>\u00a0<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tInstalar PyQt<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t3. Collections<\/a><\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\tEsta es una serie de utilidades que hace parte de las librer\u00edas est\u00e1ndar del lenguaje, contiene estructuras y tipos de datos que mejoran el rendimiento y a\u00f1ade otras funci\u00f3n a los tipos de datos nativos de python, como tuplas, diccionarios, arreglos y contadores.\u00a0<\/span><\/p>Collections tambien hace parte de la librer\u00eda est\u00e1ndar de python, por lo que no es necesario instalarla.<\/span><\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\tEste es un ejemplo muy sencillo de un contador, retorna un diccionario con los elementos ordenados de mayor a menor seg\u00fan su frecuencia en la lista y cuantas veces aparece.<\/span><\/span><\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t4. Pandas<\/a><\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\tComo la librer\u00eda Collections, pandas es una librer\u00eda ofrece estructuras de datos y operaciones orientadas al an\u00e1lisis de datos, es una extensi\u00f3n a la librer\u00eda numpy por lo cual su rendimiento aumenta en comparaci\u00f3n con los tipos de datos nativos de python. Entre las estructuras nuevas que a\u00f1ade est\u00e1n las Series y DataFrames que una herramienta fundamental para los cient\u00edficos en an\u00e1lisis de datos.<\/span><\/pre>\u00a0<\/span><\/pre>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tInstalar Pandas<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t5. BeautifulSoup<\/a><\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\tEs una librer\u00eda muy utilizada para el web scraping ya que te permite descargar el documento html de una p\u00e1gina y te permite navegar entre las etiquetas. De esta manera puedes extraer informaci\u00f3n de manera\u00a0 autom\u00e1tica de los sitios web. Es una librer\u00eda muy sencilla con una documentaci\u00f3n bastante amigable para los principiantes.<\/span><\/pre>\u00a0<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t