Come importare i moduli in uno script Python
Nel linguaggio python per utilizzare le funzioni di un modulo esterno devo importare il modulo nel programma tramite l'istruzione import seguita dal nome della libreria.
Come importare un modulo
import nome_modulo
Se l'importazione non dovesse andare a buon file, vuole dire che il modulo non è ancora installato sulla versione Python che sto usando. In questo caso devo prima installarlo.
Come richiamare una funzione del modulo
Per chiamare una funzione del modulo, dopo averlo importato, devo scrivere il nome del modulo e il nome della funzione separate da un punto.
nome_modulo . nome_funzione()
A seconda dei casi, una funzione può prevedere o meno dei parametri in input tra le parentesi tonde.
Un esempio pratico
Nella prima riga del codice sorgente importo il modulo math nel programma.
- import math
- x=1
- y=math.sin(x)
- z=math.cos(x)
Nella terza e quarta riga utilizzo le funzioni sin() e cos() della libreria math per calcolare il seno e coseno.
Per utilizzarle ho dovuto scrivere il nome del modulo come prefisso, un punto di separazione e il nome della funzione.
Il nome del modulo prima della funzione è obbligatorio
Se avessi scritto soltanto sin(x) e cos(x) il programma avrebbe restituito un errore.
- import math
- x=1
- y=sin(x) ERRORE
- z=cos(x) ERRORE
Come eliminare il nome del modulo in una funzione?
Fortunatamente nel linguaggio è possibile abbreviare o eliminare del tutto il nome del modulo quando si richiama una funzione.
Nei prossimi paragrafi spiego come fare.
Come importare i moduli con la clausola as
In python posso importare un modulo e rinominare la libreria delle funzioni con un nome alias più breve.
import nome_modulo as nome_alias
In questo modo posso richiamare le funzioni con il nome dell'alias anziché del modulo.
Quale nome alias usare? In genere un alias è composto da due o tre lettere mnemoniche che indicano la contrazione del nome del modulo. Ad esempio, "mt" invece di "math", "np" invece di "numpy", ecc. Non ci sono convenzioni. Ogni sviluppatore può scegliere quello che vuole.
Un esempio pratico
In questo codice importo il modulo math e lo assegno a un nome alias "mt".
- import math as mt
- x=1
- y=mt.sin(x)
- z=mt.cos(x)
Nella terza e quarta riga richiamo le funzioni seno e coseno della libreria math anteponendo il prefisso mt anziché math.
Il nome delle funzione diventa molto più breve.
Come richiamare le funzioni senza il nome del modulo
Per richiamare le funzioni senza dover indicare il nome del modulo, devo importarle con l'istruzione from import.
from nome_modulo import *
Il parametro asterisco (*) importa tutte le funzioni del modulo in memoria.
Così facendo non è più necessario specificare il nome del modulo per richiamare una funzione.
Un esempio pratico
Importo nel programma il modulo math.
- from math import *
- x=1
- y=sin(x)
- z=cos(x)
Nella terza e quarta riga ho scritto direttamente il nome delle funzioni sin(x) e cos(x), senza specificare il nome del modulo.
In questo caso lo script elabora le funzioni e non va in errore.
Come richiamare soltanto una funzione del modulo
Con il linguaggio python posso caricare in memoria soltanto una funzione del modulo senza le altre.
from nome_modulo import nome_funzione
In questo modo miglioro l'efficienza di computazione dello script.
Perché caricare una sola funzione? Se devo usare soltanto una funzione del modulo, sarebbe uno spreco di memoria e di tempo caricare tutta la libreria. E' preferibile importare soltanto quella funzione. In questo modo migliora la velocità di esecuzione e l'efficienza computazionale dello script.
Un esempio pratico
Importo nel programma il modulo math.
- from math import sin
- x=1
- y=sin(x)
- print(y)
Nella terza riga ho richiamato e usato soltanto la funzione sin() del modulo math.
Le altre funzioni del modulo math non le ho richiamate.
L'output dello script è il seguente:
0.8414709848078965
Così facendo ho risparmiato spazio di memoria e tempo di elaborazione.
Attenzione. In questo caso posso richiamare soltanto sin(x), non posso usare le altre funzioni del modulo math. Ad esempio, se richiamassi la funzione cos() si verificherebbe un errore.