L'istruzione import di Python
Nel linguaggio python la funzione import mi permette di caricare in memoria una libreria di funzioni esterne ( detta modulo ).
import nomelibreria
Posso usarla sia in uno script e sia sulla console interattiva di python.
Come usare le funzioni della libreria
Per utilizzare una funzione della libreria, devo scrivere il nome della libreria seguito dopo un punto dal nome della funzione.
nomelibreria.nomefunzione()
Tra parentesi devo indicare gli argomenti previsti dalla funzione esterna.
Nota. Se la funzione non prevede parametri, le parentesi tonde vanno comunque inserite senza nulla dentro. Altrimenti l'interprete python va in errore.
Un esempio pratico
In questo script richiamo la libreria math.
- import math
- x=1
- seno=math.sin(x)
- print(seno)
Poi utilizzo una delle sue funzioni (math.sin) per calcolare il seno trigonometrico di un valore.
L'output dello script è il seguente:
0.8414709848078965
Come importare solo una funzione del modulo
Il linguaggio python dà anche la possibilità di importare soltanto una funzione dal modulo, senza caricare tutte le altre.
Basta usare l'istruzione from import.
from nomelibreria import nomefunzione
in questo caso posso usare la funzione anche senza indicare il prefisso della libreria.
nomefunzione()
Un esempio pratico di from import
In questo script importo soltanto la funzione sin() dal modulo math.
- from math import sin
- x=1
- seno=sin(x)
- print(seno)
Poi la utilizzo per calcolare il seno di x.
Quando importo una funzione con l'istruzione from import, devo richiamarla direttamente (sin), senza indicare il prefisso della libreria (math.sin) altrimenti l'interprete python va in errore.
L'output dello script è il seguente:
0.8414709848078965
Perché importare una singola funzione?
Se il programma utilizza una sola funzione della libreria, è uno spreco di tempo e memoria dover caricare in memoria tutte le altre funzioni della libreria.
Inoltre, è senza dubbio più comodo sviluppare un programma digitando soltanto i nomi delle funzioni esterne senza indicare il modulo.
Esempio
>>> sin(x)
Tuttavia, in questo caso c'è sempre il rischio che il nome di una funzione esterna coincida con quello di una funzione interna o di una variabile locale del programma.
E' un rischio da non sottovalutare.
Cosa sono le librerie di Python
Sono funzioni scritte da altri programmatori per risolvere problemi specifici.
Queste funzioni sono raggruppate in moduli ( librerie ) e messe a disposizione della comunità di sviluppatori python.
Esempio di librerie. Esistono librerie con funzioni per leggere un file csv da python o fare calcoli matematici complessi, calcolare il seno e coseno, ecc.
In questo modo, non è necessario sviluppare ex novo una funzione ogni volta che serve se qualcuno già l'ha fatto.
Basta richiamare la funzione esterna con import o from import e usarla.
Qual è la differenza tra import e from import? L'istruzione import carica tutte le funzioni presenti in un modulo. L'istruzione from import, invece, carica soltanto le funzioni indicate.
E così via.