11 librerie e moduli Python che ogni sviluppatore dovrebbe conoscere

Librerie e moduli semplificano la vita di un programmatore.

Quando lavori con i progetti, potresti incontrare scenari in cui non sarai in grado di risolvere con la codifica standard di un linguaggio di programmazione. Abbiamo bisogno di alcune librerie e moduli per superare questi problemi.

Fortunatamente Python supporta una pletora di moduli e librerie. Python ha moduli integrati e librerie e moduli di terze parti per lo sviluppo. Vedremo sia moduli integrati che di terze parti, che sono molto utili per i progetti Python. Esploriamo prima i moduli integrati.

# Moduli integrati

Python viene fornito con numerosi moduli integrati per diversi casi d’uso. Studieremo i moduli uno per uno in base all’utilizzo.

Raccolte: tipi di dati del contenitore

Python ha diversi tipi di raccolte per archiviare la raccolta di dati. Ad esempio, tuple, list, dict, ecc., sono alcune delle raccolte predefinite di Python. Il modulo delle raccolte fornisce funzionalità aggiuntive alle raccolte integrate.

Se prendi la raccolta di dati deque dal modulo collections, è più simile a un elenco Python. Ma possiamo spingere e far scoppiare gli elementi da entrambi i lati. È più veloce della lista. Puoi utilizzare la deque in base alle tue esigenze. Vediamo un po’ di codice reale con la raccolta dati 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)

Esegui il codice precedente; vedere i risultati. Abbiamo anche altre raccolte di dati nel modulo delle raccolte.

Alcuni di loro sono:

Contatore
Restituisce un dict che contiene la frequenza degli elementi della lista.

È una sottoclasse della classe dict.

Lista degli utenti
Utilizzato per una rapida sottoclasse dell’elenco.
UtenteDict
Utilizzato per una rapida sottoclasse del dict.
UserString
Utilizzato per una rapida sottoclasse di str.

Vai alla documentazione del collezioni modulo per esplorare tutte le raccolte di dati e metodi.

Nota rapida: – Usa il metodo integrato dir(object) di Python per vedere tutti i metodi di un oggetto.

CSV – Gestione dei file

Possiamo utilizzare i file CSV (valori separati da virgole) per memorizzare i dati tabulari. Il formato più comunemente utilizzato per importare ed esportare i dati da fogli di calcolo e database. Python viene fornito con un modulo chiamato CSV per gestire i file CSV.

Vediamo un esempio di lettura dei dati da un file CSV.

Crea un file con il nome sample.csv nel tuo laptop e incolla i seguenti dati.

Name,Age,Graduation Year

Hafeez,21,2021

Aslan,23,2019

Rambabu,21,2021

Abbiamo metodi per leggere e scrivere nel modulo CSV. Vedremo come leggere i dati dai file CSV utilizzando il modulo 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))

Esegui il codice sopra per vedere i risultati.

Avremo anche un oggetto chiamato csv.writer() per scrivere i dati nel file CSV. Gioca con gli altri metodi da solo usando i metodi integrati dir() e help(). Abbiamo un altro modulo chiamato JSON, che viene utilizzato per gestire i file JSON. È anche un modulo integrato.

Casuale – generazione

Python ha un modulo chiamato random che consente di generare i dati in modo casuale. Possiamo produrre qualsiasi cosa in modo casuale utilizzando diversi modi del modulo casuale. Puoi utilizzare questo modulo in applicazioni come tris, un gioco di dadi, ecc.,

Vediamo un semplice programma per generare numeri interi casuali da un dato intervallo.

import random

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

Controlli gli altri metodi del modulo random usando i metodi dir() e help(). Scriviamo un piccolo e semplice gioco usando il modulo random. Possiamo chiamarlo un gioco di indovinare i numeri.

Cos’è il gioco di indovinare i numeri?

Il programma genererà un numero casuale compreso tra 1 e 100. L’utente indovinerà il numero finché non corrisponde al numero casuale generato dal programma. Ogni volta stamperai se il numero utente è minore del numero casuale o maggiore del numero casuale. Quindi, il codice sorgente visualizzerà il numero di ipotesi.

Vedere il codice seguente per il programma sopra.

# 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 – Applicazioni GUI

Tkinter è un modulo integrato per lo sviluppo di applicazioni GUI (Graphical User Interface). È conveniente per i principianti. Possiamo sviluppare applicazioni GUI come calcolatrice, sistema di login, editor di testo, ecc., Ci sono molte risorse là fuori per imparare lo sviluppo della GUI con Tkinter.

Il miglior supporto è seguire il funzionario documenti. Per iniziare con Tkinter, vai alla documentazione e inizia a creare bellissime applicazioni GUI.

# Moduli di terze parti

Richieste: richieste HTTP

Il modulo Requests viene utilizzato per inviare tutti i tipi di richieste HTTP al server. Consente l’invio di richieste HTTP/1.1. Possiamo anche aggiungere intestazioni, dati e altre cose usando i dizionari Python. Poiché si tratta di un modulo di terze parti, dobbiamo installarlo. Eseguire il seguente comando nel terminale o nella riga di comando per installare il modulo request.

pip install requests

È semplice lavorare con il modulo delle richieste. Possiamo iniziare a lavorare con le richieste senza alcuna conoscenza preliminare. Vediamo come inviare una richiesta get e cosa restituisce.

import requests

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

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

Il codice precedente stamperà lo status_code, l’URL e il metodo di richiesta (GET, POST). Otterrai anche la fonte dell’URL. Puoi accedervi con i byte request.content. Vai al documenti del modulo delle richieste ed esplorare di più.

BeautifulSoup4: web scraping

La libreria BeautifulSoup viene utilizzata per il web scraping. È un modulo pratico con cui lavorare. Anche i principianti possono iniziare a lavorarci usando il documenti. Vedere il codice di esempio per eliminare i dettagli dei report dei clienti.

Puoi installare BeautifulSoup digitando il seguente comando nel terminale/riga di comando.

pip install beautifulsoup4

E un semplice programma per il tuo primo scraping.

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

Esegui il codice sopra per vedere la magia del web scraping. Ci sono più framework di web scraping là fuori che puoi provare.

# Scienza dei dati e apprendimento automatico

Esistono alcune librerie là fuori create appositamente per la scienza dei dati e l’apprendimento automatico. Tutti questi sono sviluppati in C. Sono velocissimi.

Numpy

Numpy viene utilizzato per il calcolo scientifico.

Ci permette di lavorare su array multidimensionali. L’implementazione degli array non è presente in Python. Principalmente gli sviluppatori usano numpy nei loro progetti di machine learning. È facile da imparare e libreria open source. Quasi ogni ingegnere di machine learning o data scientist utilizza questo modulo per calcoli matematici complessi.

Eseguire il seguente comando per installare il modulo numpy.

pip install numpy

Panda

Panda è un modulo di analisi dei dati. Possiamo filtrare i dati in modo più efficace utilizzando la libreria dei panda. Offre diversi tipi di strutture dati utili per lavorare. Fornisce inoltre la gestione dei file con diversi formati di file.

Installa il modulo usando il seguente comando.

pip install pandas

Matplotlib

Matplotlib è una libreria per tracciare grafici 2D. Puoi visualizzare i dati usando Matplotlib.

Possiamo generare immagini delle figure in diversi formati. Tracciamo diversi tipi di diagrammi come grafici a barre, grafici di errore, istogrammi, grafici a dispersione, ecc., Puoi installare il matplotlib usando il seguente comando.

pip install matplotlib

Nota rapida: – È possibile installare Anaconda per ottenere tutte le librerie e i moduli richiesti per Data Science.

Se sei seriamente intenzionato a imparare Python per la scienza dei dati e il ML, dai un’occhiata a questo geniale Corso Udem.

# Framework web

Possiamo trovare molti framework web in Python. Discuteremo due framework ampiamente utilizzati dagli sviluppatori. I due framework sono Django e Flask.

Django

Django è un framework web open source sviluppato in Python. È conveniente creare siti Web con Django. Possiamo generare qualsiasi tipo di sito utilizzando questo framework. Alcuni dei siti più popolari costruiti con Django sono Instagram, bitbucket, Disqus, Mozilla Firefox, ecc.,

  • Possiamo creare rapidamente siti Web complessi con le funzionalità di Django.
  • Django svolge già molte delle attività richieste per lo sviluppo web.
  • Fornisce inoltre sicurezza per gli attacchi SQL Injection, cross-site scripting, cross-site request forgery e clickjacking.
  • Possiamo costruire qualsiasi sito web dal sistema di gestione dei contenuti ai siti social.

La documentazione di Django è inequivocabile. Devi avere familiarità con Python per Django. Ma non preoccuparti se non lo sei. Imparare Django è facile.

Borraccia

Flask è un micro framework web sviluppato in Python.

È più pitonico di Django. Ha un’ottima documentazione qui. Utilizza il motore di template Jinja. È molto complesso creare grandi siti Web Flask. La maggior parte delle funzionalità come il routing degli URL, l’invio delle richieste, i cookie sicuri, le sessioni, ecc., sono presenti sia in Django che in Flask.

Scegli il framework in base alla complessità del tuo sito web. Django sta guadagnando popolarità tra gli sviluppatori. È il framework più utilizzato per lo sviluppo web in Python.

Conclusione

Spero che tu abbia conosciuto diversi moduli, librerie e framework per Python.

Tutti una volta un principiante.

Qualunque cosa tu voglia iniziare, prima vai alla documentazione e inizia ad impararla. Se non riesci a capire i documenti, trova i corsi accelerati su siti web didattici.