11 bibliotecas y módulos de Python que todo desarrollador debe conocer

Las bibliotecas y los módulos facilitan la vida de un programador.

Cuando trabaja con proyectos, puede encontrar escenarios en los que no podrá resolver con la codificación estándar de un lenguaje de programación. Necesitamos algunas bibliotecas y módulos para superar esos problemas.

Afortunadamente, Python admite una gran cantidad de módulos y bibliotecas. pitón tiene incorporado módulos así como tercero bibliotecas y módulos para el desarrollo. Veremos módulos tanto integrados como de terceros, que son muy beneficiosos para los proyectos de Python. Exploremos primero los módulos incorporados.

# Módulos incorporados

Python viene con muchos módulos integrados para diferentes casos de uso. Estudiaremos los módulos uno por uno según el uso.

Colecciones: tipos de datos de contenedor

Python tiene diferentes tipos de colecciones para almacenar la colección de datos. Por ejemplo, tupla, lista, dict, etc., son algunas de las colecciones integradas de Python. los colecciones El módulo proporciona características adicionales a las colecciones integradas.

Si lo tomas deque recopilación de datos de la colecciones módulo, es más como una lista de Python. Pero nosotros podemos empujar y estallido los elementos de ambos lados. es mas rapido que el lista. Puedes usar el deque en base a sus necesidades. Veamos algo de codificación real con colecciones.deque recopilación de datos.

import collections
nums = [1, 2, 3]
# creating deque collection from the list
deque = collections.deque(nums)

print(deque)

# adding an element at the end
deque.append(4)

print(deque)

# adding element at the starting
deque.appendleft(0)

print(deque)

# removing the element at the end
deque.pop()

print(deque)

# removing element at the starting
deque.popleft()

print(deque)

Ejecute el código anterior; ver los resultados También tenemos otras colecciones de datos en el colecciones módulo.

Algunos de ellos son:

Encimera Devuelve un dict que contiene la frecuencia de los elementos de la lista.

Es una subclase de la clase dict.

Lista de usuarios Se utiliza para una subclase rápida de la lista.
UserDict Se utiliza para una subclase rápida del dict.
Cadena de usuario Se utiliza para una subclase rápida de str.

Ir a la documentación del colecciones módulo para explorar todas las colecciones de datos y métodos.

Nota rápida:- Utilizar el dir(objeto) método incorporado de Python para ver todos los métodos de un objeto.

CSV – manejo de archivos

Podemos usar el CSV (valores separados por comas) archivos para almacenar los datos tabulares. El formato más utilizado para importar y exportar datos de hojas de cálculo y bases de datos. Python viene con un módulo llamado CSV para manejar el CSV archivos

Veamos un ejemplo de lectura de datos de un archivo CSV.

Crear un archivo con el nombre muestra.csv en tu laptop y pega los siguientes datos.

Name,Age,Graduation Year

Hafeez,21,2021

Aslan,23,2019

Rambabu,21,2021

Tenemos métodos para leer y escribir en el módulo CSV. Veremos cómo leer los datos de los archivos CSV utilizando el módulo CSV.

import csv

with open('sample.csv') as file:
    # creating the reader
    reader = csv.reader(file)
    
    # reading line by line using loop
    for row in reader:
        # row is a list containing elements from the CSV file
        # joingin the list using join(list) method
        print(','.join(row))

Ejecute el código anterior para ver los resultados.

También tendremos un objeto llamado csv.writer() para escribir los datos en el CSV expediente. Juega con los otros métodos por tu cuenta usando el dir() y help()métodos incorporados. Tenemos otro módulo llamado JSON, que se utiliza para el manejo de JSON archivos También es un módulo integrado.

Aleatorio – generación

Python tiene un módulo llamado aleatorio que permite generar los datos aleatoriamente. Podemos producir cualquier cosa al azar usando diferentes formas de la aleatorio módulo. Puede usar este módulo en aplicaciones como tic-tac-toe, un juego de dados, etc.,

Veamos un programa sencillo para generar enteros aleatorios a partir de un rango dado.

import random

# generating a random number from the range 1-100
print(random.randint(1, 100)) 

Comprueba los otros métodos de la aleatorio módulo usando dir()y help() métodos. Escribamos un juego pequeño y simple usando el aleatorio módulo. Podemos llamarlo un Juego de adivinanzas de números.

¿Qué es el juego de adivinanzas de números?

El programa generará un número aleatorio en el rango de 1 a 100. El usuario adivinará el número hasta que coincida con el número aleatorio generado por el programa. Cada vez imprimirá si el número de usuario es menor que el número aleatorio o mayor que el número aleatorio. Luego, el código fuente mostrará el número de conjeturas.

Vea el siguiente código para el programa anterior.

# importing random module
import random

# generating random number
random_number = random.randint(1, 100)

# initializing no. of guess to 0
guess_count = 0

# running loop until user guess the random number
while True:
    # getting user input

    user_guessed_number = int(input("Enter a number in the range of 1-100:- "))

    # checking for the equality
    if user_guessed_number == random_number:
        print(f"You have guessed the number in  guesses")
        # breaking the loop
        break
    elif user_guessed_number < random_number:
        print("Your number is low")
    elif user_guessed_number > random_number:
        print("Your number is high")

    # incrementing the guess count
    guess_count += 1

Tkinter: aplicaciones GUI

Tkinter es un módulo incorporado para el desarrollo de GUI (interfaz gráfica de usuario) aplicaciones Es conveniente para los principiantes. podemos desarrollar interfaz gráfica de usuario aplicaciones como calculadora, sistema de inicio de sesión, editor de texto, etc., Hay muchos recursos para aprender el interfaz gráfica de usuario desarrollo con Tkinter.

El mejor apoyo es seguir al oficial. documentos. Para empezar con el Tkinter, ve a la documentación y comienza a crear hermosos interfaz gráfica de usuario aplicaciones

# Módulos de terceros

Solicitudes: solicitudes HTTP

El módulo de solicitudes se utiliza para enviar todo tipo de HTTP solicitudes al servidor. Eso permite HTTP/1.1 solicitudes para enviar. También podemos agregar encabezados, datos y otras cosas usando los diccionarios de Python. Como es un módulo de terceros, tenemos que instalarlo. Ejecute el siguiente comando en la terminal o en la línea de comandos para instalar el peticiones módulo.

pip install requests

Es sencillo trabajar con el peticiones módulo. Podemos empezar a trabajar con el peticiones sin ningún conocimiento previo. Veamos cómo enviar una solicitud de obtención y qué devuelve.

import requests

# sening a get request
request = requests.get("https://www.google.com/")

# 
print(request.status_code)
print(request.url)
print(request.request)

El código anterior imprimirá el código de estado, la URL y el método de solicitud (GET, POST). Obtendrá la fuente de la URL también. Puedes acceder a él con el solicitud.contenido bytes Ve a la documentos del peticiones módulo y explorar más.

BeautifulSoup4 – raspado web

HermosaSopa biblioteca se utiliza para el web scraping. Es un módulo útil para trabajar. Incluso los principiantes pueden empezar a trabajar con él usando el documentos. Vea el código de muestra para descartar los detalles de los informes de los clientes.

puedes instalar HermosaSopa escribiendo el siguiente comando en la terminal/línea de comandos.

pip install beautifulsoup4

Y, un programa simple para su primer raspado.

## Scrping the ConsumerReport products list using BeautifulSoup

## importing bs4, requests modules
import bs4
import requests

## initializing url
url = "https://www.consumerreports.org/cro/a-to-z-index/products/index.htm"

## getting the reponse from the page using get method of requests module
page = requests.get(url)

## storing the content of the page in a variable
html = page.content

## creating BeautifulSoup object
soup = bs4.BeautifulSoup(html, "lxml")

## see the class or id of the tag which contains names ans links
div_class = "crux-body-copy"

## getting all the divs using find_all method
div_tags = soup.find_all("div", class_=div_class) ## finding divs whichs has mentioned class

## we will see all the tags with a tags which has name and link inside the div
for tag in div_tags:
    print(tag)

Ejecute el código anterior para ver la magia del web scraping. Hay más marcos de web scraping disponibles para que pruebes.

# Ciencia de datos y aprendizaje automático

Existen algunas bibliotecas creadas especialmente para la ciencia de datos y el aprendizaje automático. Todo esto se desarrolla en C. Son ultrarrápidos.

entumecido

entumecido se utiliza para el cálculo científico.

Nos permite trabajar arrays multidimensionales. La implementación de matrices no existe en Python. Principalmente los desarrolladores usan entumecido en sus proyectos de aprendizaje automático. Es una biblioteca fácil de aprender y de código abierto. Casi todos los ingenieros de aprendizaje automático o científicos de datos usan este módulo para cálculos matemáticos complejos.

Ejecute el siguiente comando para instalar el entumecido módulo.

pip install numpy

pandas

pandas es un módulo de análisis de datos. Podemos filtrar los datos de manera más efectiva usando el pandas biblioteca. Ofrece diferentes tipos de estructuras de datos que son útiles para trabajar. También proporciona manejo de archivos con diferentes formatos de archivo.

Instale el módulo usando el siguiente comando.

pip install pandas

matplotlib

matplotlib es una biblioteca de trazado de gráficos 2D. Puede visualizar los datos usando matplotlib.

Podemos generar imágenes de las figuras en diferentes formatos. Trazamos diferentes tipos de diagramas como gráficos de barras, gráficos de errores, histogramas, diagramas de dispersión, etc., puede instalar el matplotlib usando el siguiente comando.

pip install matplotlib

Nota rápida:- puedes instalar Anaconda para obtener todas las bibliotecas y módulos necesarios para Data Science.

Si te tomas en serio el aprendizaje de Python para la ciencia de datos y el aprendizaje automático, echa un vistazo a este brillante Curso de Udemy.

# Frameworks Web

Podemos encontrar muchos frameworks web en Pitón. Discutiremos dos marcos que son ampliamente utilizados por los desarrolladores. Los dos marcos son Django y Matraz.

Django

Django es un marco web de código abierto desarrollado en Python. Es conveniente crear sitios web con Django. Podemos generar cualquier tipo de sitios utilizando este marco. Algunos de los sitios más populares creados con Django son Instagram, bitbucket, Disqus, Mozilla Firefox, etc.,

  • Podemos construir sitios web complejos rápidamente con las características de Django.
  • Django ya realiza muchas de las tareas necesarias para el desarrollo web.
  • También proporciona seguridad para los ataques. Inyección SQL, secuencias de comandos entre sitios, falsificación de solicitudes entre sitios y secuestro de clics.
  • Podemos construir cualquier sitio web desde el sistema de gestión de contenido hasta los sitios sociales.

La documentación de Django es inequívoca. Tienes que familiarizarte con Python para Django. Pero no te preocupes si no lo eres. Aprendiendo Django es fácil.

Matraz

Flask es un framework micro web desarrollado en Python.

Es más pitónico que Django. Tiene excelente documentacion aquí. utiliza el Jinja motor de plantillas Es muy complejo crear grandes sitios web Flask. La mayoría de las funciones, como el enrutamiento de URL, el envío de solicitudes, las cookies seguras, las sesiones, etc., están presentes en ambos Django y Matraz.

Elija el marco en función de la complejidad de su sitio web. Django está ganando popularidad entre los desarrolladores. Es el marco más utilizado para el desarrollo web en Python.

Conclusión

Espero que conozcas los diferentes módulos, bibliotecas y marcos para Python.

Todo el mundo una vez un principiante.

Sea lo que sea que quieras comenzar, primero ve a la documentación y comienza a aprenderlo. Si no puede entender los documentos, busque cursos intensivos en el sitios web educativos.

Deja un comentario