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.

  1. import math
  2. x=1
  3. y=math.sin(x)
  4. 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.

  1. import math
  2. x=1
  3. y=sin(x) ERRORE
  4. 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".

  1. import math as mt
  2. x=1
  3. y=mt.sin(x)
  4. 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.

  1. from math import *
  2. x=1
  3. y=sin(x)
  4. 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.

  1. from math import sin
  2. x=1
  3. y=sin(x)
  4. 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.
un esempio di from import

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

I moduli python