
L'istruzione import in Python
L'istruzione import in Python ti permette di utilizzare dei moduli all'interno del tuo programma o sulla console.
import nome_modulo
L'istruzione è seguita dal nome del modulo che vuoi caricare in memoria.
Puoi anche importare più moduli contemporaneamente, separandoli tra loro con una virgola.
import nome_modulo1, nome_modulo2
Una volta importati in memoria, puoi usare le funzionalità dei moduli nel tuo codice.
Cosa sono i moduli? Sono librerie e pacchetti che forniscono funzionalità aggiuntive. Ad esempio, il modulo "Math" aggiunge a Python diverse funzioni matematiche.
Ecco alcuni esempi di utilizzo dell'istruzione import.
Importa in memoria il modulo "math"
import math
Dopo averlo importato puoi usare le funzioni presenti nel modulo usando la sintassi seguente
print(math.sqrt(16))
In questo caso hai usato la funzione math.sqrt() che calcola la radice quadrata di un numero.
Ricorda di indicare anche il nome del modulo "math" seguita da un punto, prima del nome della funzione sqrt()
Il risultato è la radice quadrata di 16 ossia 4
4.0
Volendo puoi anche importare un modulo e assegnarlo a un nome alias diverso dal nome del modulo.
Ad esempio, carica in memoria il modulo "numpy" e assegnalo all'alias "np"
import numpy as np
In questo modo puoi eseguire le funzioni del modulo utilizzando un nome alias più corto ossia "np" invece di "numpy".
Ad esempio, puoi creare un vettore digitando np.array() anziché scrivere numpy.array()
a = np.array([1, 2, 3])
In questi due esempi hai caricato in memoria l'intero modulo.
Python ti permette anche di importare solo alcuni funzioni o classi specifiche da un modulo, utilizzando la parola chiave "from"
Ad esempio, importa solo la funzione "sqrt" dal modulo "math"
from math import sqrt
In questo caso Python importa soltanto la funzione "sqrt" dal modulo "math", senza importare le altre.
print(sqrt(16))
Il risultato è la radice quadrata di 16 ossia 4
4.0
Per importare tutte le funzioni da un modulo tramite la parola chiave "from", utilizza l'asterisco "*" dopo l'istruzione import
from math import *
Così facendo Python carica in memoria tutte le funzioni del modulo "math".
Ad esempio, digita sin(0) per calcolare il seno di zero.
print(sin(0))
Il risultato è il seno di zero ossia zero
0.0
Quando utilizzi la parola chiave "from" devi eseguire le funzioni importate senza indicare il nome del modulo "math".
Ad esempio, per eseguire la funzione sin() devi semplicemente digitare il nome della funzione sin(), non devi scrivere math.sin().
Questo può apparentemente sembrare comodo ma è anche rischioso, perché può causare un problema nel tuo namespace se stai già usando altre variabili o funzioni nel tuo codice che hanno lo stesso nome.
Ad esempio, se hai definito una funzione sin() nel tuo codice, la funzione sin() importata dal modulo "math" la sovrascrive.
Per prevenire tali conflitti, ti consiglio di importare solamente gli elementi necessari dal modulo.
In alternativa, puoi importare l'intero modulo e utilizzare il nome del modulo stesso per accedere alle sue funzioni. Questo assicura che ogni funzione importata abbia un nome univoco; ad esempio, math.sin invece di sin().