Introduzione
Il linguaggio di programmazione Python viene fornito con una varietà di funzioni integrate. Tra queste ci sono diverse funzioni comuni, tra cui:
print()
che stampa le espressioniabs()
che restituisce il valore assoluto di un numeroint()
che converte un’altra tipologia di dato in un interolen()
che restituisce la lunghezza di una sequenza o collezione
Tuttavia, queste funzioni integrate sono limitate e possiamo fare uso dei moduli per creare programmi più sofisticati.
I moduli sono file Python .py
che consistono in codice Python. Qualsiasi file Python può essere referenziato come modulo. Un file Python chiamato hello.py
ha il nome di modulo hello
che può essere importato in altri file Python o utilizzato nell’interprete della riga di comando di Python. Puoi apprendere come creare i tuoi moduli leggendo Come Scrivere Moduli in Python 3.
I moduli possono definire funzioni, classi e variabili che è possibile fare riferimento in altri file Python .py
o tramite l’interprete della riga di comando di Python.
In Python, i moduli sono accessibili utilizzando l’istruzione import
. Quando si fa ciò, si esegue il codice del modulo, mantenendo gli ambiti delle definizioni in modo che i file attuali possano utilizzarli.
Quando Python importa un modulo chiamato hello
ad esempio, l’interprete cercherà prima un modulo incorporato chiamato hello
. Se non viene trovato un modulo incorporato, l’interprete Python cercherà quindi un file chiamato hello.py
in un elenco di directory che riceve dalla variabile sys.path
.
Questo tutorial ti guiderà nel controllo e nell’installazione di moduli, nell’importazione di moduli e nell’aliasing di moduli.
Prerequisiti
Dovresti avere Python 3 installato e un ambiente di programmazione configurato sul tuo computer o server. Se non hai un ambiente di programmazione configurato, puoi fare riferimento alle guide di installazione e configurazione per un ambiente di programmazione locale o per un ambiente di programmazione sul tuo server appropriato per il tuo sistema operativo (Ubuntu, CentOS, Debian, ecc.)
Verifica e Installazione dei Moduli
Ci sono diversi moduli che sono inclusi nella Libreria Standard di Python, che contiene molti moduli che forniscono accesso alla funzionalità di sistema o forniscono soluzioni standardizzate. La Libreria Standard di Python fa parte di ogni installazione di Python.
Informazioni: Per seguire gli esempi di codice in questo tutorial, apri una shell interattiva di Python sul tuo sistema locale eseguendo il comando python3
. Quindi puoi copiare, incollare o modificare gli esempi aggiungendoli dopo il prompt >>>
.
Per verificare che questi moduli Python siano pronti all’uso, accedi al tuo ambiente di programmazione Python 3 locale o all’ambiente di programmazione basato su server e avvia l’interprete Python dalla riga di comando in questo modo:
All’interno dell’interprete puoi eseguire l’istruzione import
per assicurarti che il modulo specificato sia pronto per essere chiamato, come segue:
Dato che math
è un modulo incorporato, il tuo interprete dovrebbe completare il compito senza alcun feedback, tornando al prompt. Ciò significa che non è necessario fare nulla per iniziare a utilizzare il modulo math
.
Eseguiamo ora l’istruzione import
con un modulo che potresti non avere installato, come la libreria di plotting 2D matplotlib
:
Se matplotlib
non è installato, riceverai un errore simile a questo:
OutputImportError: No module named 'matplotlib'
Puoi disattivare l’interprete Python con CTRL + D
e quindi installare matplotlib
con pip
.
Successivamente, possiamo usare pip
per installare il modulo matplotlib
:
Una volta installato, puoi importare matplotlib
nell’interprete Python usando import matplotlib
, e questo verrà completato senza errori.
Importazione dei Moduli
Per utilizzare le funzioni in un modulo, sarà necessario importare il modulo con un’istruzione import
.
Un’istruzione import
è composta dalla parola chiave import
insieme al nome del modulo.
In un file Python, questo verrà dichiarato all’inizio del codice, sotto eventuali linee di shebang o commenti generali.
Quindi, nel file del programma Python my_rand_int.py
importeremmo il modulo random
per generare numeri casuali in questo modo:
Quando importiamo un modulo, lo rendiamo disponibile nel nostro programma corrente come uno spazio dei nomi separato. Ciò significa che dovremo fare riferimento alla funzione con la notazione puntata, come in [modulo].[funzione]
.
Nella pratica, con l’esempio del modulo random
, questo potrebbe apparire come una funzione del tipo:
random.randint()
che chiama la funzione per restituire un numero intero casuale, orandom.randrange()
che chiama la funzione per restituire un elemento casuale da un intervallo specificato.
Creiamo un for
loop per mostrare come chiameremo una funzione del modulo random
all’interno del nostro programma my_rand_int.py
:
Questo piccolo programma importa prima il modulo random
nella prima riga, quindi passa a un for
loop che lavorerà con 10 elementi. All’interno del loop, il programma stamperà un numero intero casuale nell’intervallo da 1 a 25 (incluso). Gli interi 1
e 25
vengono passati a random.randint()
come suoi parametri.
Quando eseguiamo il programma con python my_rand_int.py
, riceveremo 10 numeri interi casuali come output. Poiché sono casuali, è probabile che otterrai numeri diversi ogni volta che esegui il programma, ma genereranno qualcosa di simile a questo:
Output6
9
1
14
3
22
10
1
15
9
I numeri interi non dovrebbero mai essere inferiori a 1 o superiori a 25.
Se desideri utilizzare funzioni da più di un modulo, puoi farlo aggiungendo più dichiarazioni import
:
Potresti vedere programmi che importano più moduli con virgole che li separano, come in import random, math
, ma questo non è coerente con la Guida dello Stile PEP 8.
Per utilizzare il nostro modulo aggiuntivo, possiamo aggiungere la costante pi
da math
al nostro programma e diminuire il numero di numeri interi casuali stampati:
Ora, quando eseguiamo il nostro programma, riceveremo un output simile a questo, con un’approssimazione di pi come nostra ultima riga di output:
Output18
10
7
13
10
3.141592653589793
La dichiarazione import
ti consente di importare uno o più moduli nel tuo programma Python, permettendoti di utilizzare le definizioni costruite in quei moduli.
Utilizzando from
… import
Per fare riferimento agli elementi di un modulo all’interno dello spazio dei nomi del tuo programma, puoi utilizzare l’istruzione from
… import
. Quando importi i moduli in questo modo, puoi fare riferimento alle funzioni per nome anziché attraverso la notazione a punto
In questa costruzione, puoi specificare quali definizioni referenziare direttamente.
In altri programmi, potresti vedere l’istruzione import
prendere in riferimento tutto ciò che è definito all’interno del modulo utilizzando un asterisco (*
) come carattere jolly, ma questo è sconsigliato da PEP 8.
Prima di tutto, vediamo come importare una funzione specifica, randint()
, dal modulo random
:
Qui, chiamiamo prima la parola chiave from
, quindi random
per il modulo. Successivamente, utilizziamo la parola chiave import
e chiamiamo la funzione specifica che vogliamo utilizzare.
Ora, quando implementiamo questa funzione all’interno del nostro programma, non scriveremo più la funzione nella notazione a punto come random.randint()
, ma scriveremo solo randint()
:
Quando esegui il programma, riceverai un output simile a quello che abbiamo ricevuto prima.
Utilizzare la costruzione from
… import
ci consente di fare riferimento agli elementi definiti di un modulo all’interno dello spazio dei nomi del nostro programma, evitando la notazione a punto.
Alias dei Moduli
È possibile modificare i nomi dei moduli e delle loro funzioni all’interno di Python utilizzando la parola chiave as
.
Potresti voler cambiare un nome perché hai già usato lo stesso nome per qualcos’altro nel tuo programma, un altro modulo che hai importato utilizza anche quel nome, o potresti voler abbreviare un nome più lungo che stai utilizzando spesso.
La costruzione di questa istruzione è simile a quanto segue:
Modifichiamo il nome del modulo math
nel nostro file di programma my_math.py
. Cambieremo il nome del modulo da math
a m
per abbreviarlo. Il nostro programma modificato avrà questo aspetto:
All’interno del programma, ora ci riferiamo alla costante pi
come m.pi
invece di math.pi
.
Per alcuni moduli, è comune utilizzare alias. La documentazione ufficiale del modulo matplotlib.pyplot
richiede l’uso di plt
come alias:
Questo consente ai programmatori di aggiungere la parola più breve plt
a una qualsiasi delle funzioni disponibili all’interno del modulo, come in plt.show()
. È possibile vedere questa dichiarazione di importazione di alias in uso all’interno del nostro “Come Tracciare Dati in Python 3 Utilizzando il tutorial di matplotlib
“.
Conclusione
Quando importiamo moduli, siamo in grado di chiamare funzioni che non sono integrate in Python. Alcuni moduli sono installati come parte di Python, e altri li installeremo tramite pip
.
Utilizzare i moduli ci consente di rendere i nostri programmi più robusti e potenti poiché stiamo sfruttando codice esistente. Possiamo anche creare i nostri moduli per noi stessi e per altri programmatori da utilizzare in programmi futuri.
Source:
https://www.digitalocean.com/community/tutorials/how-to-import-modules-in-python-3