11 bibliotecas e módulos Python que todo desenvolvedor deve conhecer

Bibliotecas e Módulos facilitam a vida de um programador.

Ao trabalhar com projetos, você pode encontrar cenários em que não conseguirá resolver com a codificação padrão de uma linguagem de programação. Precisamos de algumas bibliotecas e módulos para superar esses problemas.

Felizmente, o Python oferece suporte a uma infinidade de módulos e bibliotecas. O Python possui módulos integrados, bem como bibliotecas e módulos de terceiros para o desenvolvimento. Veremos módulos integrados e de terceiros, que são muito benéficos para projetos Python. Vamos explorar os módulos integrados primeiro.

# Módulos integrados

O Python vem com muitos módulos integrados para diferentes casos de uso. Estudaremos os módulos um a um de acordo com o uso.

Coleções – tipos de dados de contêiner

Python tem diferentes tipos de coleções para armazenar a coleção de dados. Por exemplo, tupla, lista, dict, etc., são algumas das coleções internas do Python. O módulo de coleções fornece recursos adicionais para as coleções internas.

Se você pegar a coleta de dados deque do módulo de coleções, é mais como uma lista do Python. Mas podemos empurrar e estourar os elementos de ambos os lados. É mais rápido que a lista. Você pode usar o deque com base em suas necessidades. Vamos ver um pouco de codificação real com coleta de dados collections.deque.

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)

Execute o código acima; veja os resultados. Também temos outras coletas de dados no módulo de coletas.

Alguns deles são:

Contador
Retorna um dict que contém a frequência dos elementos da lista.

É uma subclasse da classe dict.

Lista de usuários
Usado para uma subclasse rápida da lista.
UserDict
Usado para uma subclasse rápida do dict.
UserString
Usado para uma subclasse rápida do str.

Acesse a documentação do coleções módulo para explorar todas as coletas de dados e métodos.

Nota rápida:- Use o método interno dir(object) do Python para ver todos os métodos de um objeto.

CSV – Manipulação de arquivos

Podemos usar os arquivos CSV (valores separados por vírgula) para armazenar os dados tabulares. O formato mais comumente usado para importar e exportar os dados de planilhas e bancos de dados. O Python vem com um módulo chamado CSV para lidar com os arquivos CSV.

  Como transmitir ao vivo os Jogos Olímpicos de Inverno em qualquer lugar em 2022

Vejamos um exemplo de leitura dos dados de um arquivo CSV.

Crie um arquivo com o nome sample.csv em seu laptop e cole os seguintes dados.

Name,Age,Graduation Year

Hafeez,21,2021

Aslan,23,2019

Rambabu,21,2021

Temos métodos para ler e escrever no módulo CSV. Veremos como ler os dados dos arquivos CSV usando o 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))

Execute o código acima para ver os resultados.

Também teremos um objeto chamado csv.writer() para gravar os dados no arquivo CSV. Brinque com os outros métodos por conta própria usando os métodos embutidos dir() e help(). Temos outro módulo chamado JSON, que é usado para manipular os arquivos JSON. É também um módulo embutido.

Aleatório – geração

Python possui um módulo chamado random que permite gerar os dados aleatoriamente. Podemos produzir qualquer coisa aleatoriamente usando diferentes formas do módulo aleatório. Você pode usar este módulo em aplicativos como jogo da velha, jogo de dados, etc.,

Vejamos um programa simples para gerar inteiros aleatórios a partir de um determinado intervalo.

import random

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

Você verifica os outros métodos do módulo aleatório usando os métodos dir() e help(). Vamos escrever um jogo pequeno e simples usando o módulo aleatório. Podemos chamá-lo de jogo de adivinhação de números.

O que é o jogo de adivinhação de números?

O programa gerará um número aleatório no intervalo de 1 a 100. O usuário adivinhará o número até que corresponda ao número aleatório gerado pelo programa. Toda vez que você imprimir se o número do usuário for menor que o número aleatório ou maior que o número aleatório. Em seguida, o código-fonte exibirá o número de palpites.

Veja o código abaixo para o programa acima.

# 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 {guess_count} 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 – aplicações GUI

Tkinter é um módulo embutido para o desenvolvimento de aplicações GUI (Graphical User Interface). É conveniente para iniciantes. Podemos desenvolver aplicações GUI como calculadora, sistema de login, editor de texto, etc.. Existem muitos recursos disponíveis para aprender o desenvolvimento de GUI com o Tkinter.

  Tradução de Endereço de Rede (NAT): Uma Introdução

O melhor suporte é seguir o oficial documentos. Para começar com o Tkinter, vá para os documentos e comece a criar belos aplicativos GUI.

# Módulos de terceiros

Solicitações – solicitações HTTP

O módulo Requests é usado para enviar todos os tipos de solicitações HTTP ao servidor. Permite o envio de solicitações HTTP/1.1. Também podemos adicionar cabeçalhos, dados e outras coisas usando dicionários Python. Como é um módulo de terceiros, temos que instalá-lo. Execute o seguinte comando no terminal ou na linha de comando para instalar o módulo de solicitações.

pip install requests

É fácil trabalhar com o módulo de solicitações. Podemos começar a trabalhar com os pedidos sem nenhum conhecimento prévio. Vamos ver como enviar uma solicitação get e o que ela retorna.

import requests

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

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

O código acima imprimirá o status_code, a URL e o método de solicitação (GET, POST). Você também obterá a origem da URL. Você pode acessá-lo com os bytes request.content. Vou ao documentos do módulo de solicitações e explore mais.

BeautifulSoup4 – raspagem da web

A biblioteca BeautifulSoup é usada para a raspagem da web. É um módulo útil para trabalhar. Mesmo iniciantes podem começar a trabalhar com ele usando o documentos. Consulte o código de amostra para descartar os detalhes dos relatórios do cliente.

Você pode instalar o BeautifulSoup digitando o seguinte comando no terminal/linha de comando.

pip install beautifulsoup4

E, um programa simples para sua primeira raspagem.

## 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)

Execute o código acima para ver a mágica do web scraping. Existem mais estruturas de raspagem da web disponíveis para você experimentar.

# Ciência de dados e aprendizado de máquina

Existem algumas bibliotecas criadas especialmente para ciência de dados e aprendizado de máquina. Todos estes são desenvolvidos em C. Eles são extremamente rápidos.

Numpy

Numpy é usado para computação científica.

Permite trabalhar arrays multidimensionais. A implementação de matrizes não existe em Python. Principalmente os desenvolvedores usam numpy em seus projetos de aprendizado de máquina. É fácil de aprender e biblioteca de código aberto. Quase todo engenheiro de aprendizado de máquina ou cientista de dados usa esse módulo para cálculos matemáticos complexos.

  Crie cursos baseados em coortes nessas 11 plataformas

Execute o seguinte comando para instalar o módulo numpy.

pip install numpy

pandas

pandas é um módulo de análise de dados. Podemos filtrar os dados de forma mais eficaz usando a biblioteca pandas. Oferece diferentes tipos de estruturas de dados que são úteis para trabalhar. Ele também fornece manipulação de arquivos com diferentes formatos de arquivo.

Instale o módulo usando o seguinte comando.

pip install pandas

MatplotlibGenericName

MatplotlibGenericName é uma biblioteca de plotagem de gráficos 2D. Você pode visualizar os dados usando o Matplotlib.

Podemos gerar imagens das figuras em diferentes formatos. Traçamos diferentes tipos de diagramas como gráficos de barras, gráficos de erro, histogramas, scatterplots, etc., Você pode instalar o matplotlib usando o seguinte comando.

pip install matplotlib

Nota rápida:- Você pode instalar anaconda para obter todas as bibliotecas e módulos necessários para Data Science.

Se você está pensando seriamente em aprender Python para ciência de dados e ML, confira este brilhante curso udemy.

# Estruturas Web

Podemos encontrar muitos frameworks web em Python. Discutiremos dois frameworks que são amplamente utilizados pelos desenvolvedores. Os dois frameworks são Django e Flask.

Django

Django é um framework web de código aberto desenvolvido em Python. É conveniente criar sites com Django. Podemos gerar qualquer tipo de site usando esta estrutura. Alguns dos sites mais populares construídos com Django são Instagram, bitbucket, Disqus, Mozilla Firefox, etc.,

  • Podemos construir sites complexos rapidamente com os recursos do Django.
  • O Django já faz muitas das tarefas necessárias para o desenvolvimento web.
  • Ele também fornece segurança para os ataques SQL Injection, cross-site scripting, cross-site request forgery e clickjacking.
  • Podemos construir qualquer site desde o sistema de gerenciamento de conteúdo até sites sociais.

A documentação do Django é inequívoca. Você tem que se familiarizar com o Python para Django. Mas não se preocupe se você não estiver. Aprendendo Django é fácil.

Frasco

Flask é um micro framework web desenvolvido em Python.

É mais pitônico que o Django. Possui excelente documentação aqui. Ele usa o mecanismo de modelo Jinja. É muito complexo criar grandes sites Flask. A maioria dos recursos, como roteamento de URL, envio de solicitações, cookies seguros, sessões, etc., estão presentes tanto no Django quanto no Flask.

Escolha a estrutura com base na complexidade do seu site. Django está ganhando popularidade entre os desenvolvedores. É o framework mais usado para desenvolvimento web em Python.

Conclusão

Espero que você tenha conhecido os diferentes módulos, bibliotecas e estruturas para Python.

Todo mundo uma vez iniciante.

O que quer que você queira começar, primeiro vá à documentação e comece a aprendê-la. Se você não consegue entender os documentos, encontre cursos intensivos no sites educacionais.