I moduli permettono di estendere le funzionalità del linguaggio di base
- Un modulo contiene del codice utile per la risoluzione di una certa categoria di problemi.
- Come è fatto un modulo? Dove si trovano i moduli?
- I moduli nativi, standard, sono progettati e garantiti dalla community di Python; sono quelli compresi nella distribuzione ufficiale.
- I moduli di terze parti, extra, sono resi disponibili dal mondo dell’open source.
- pip – L’applicazione permette di aggiungere i moduli di terze parti all’installazione locale di Python.
Per poter utilizzare le risorse presenti in un modulo è necessario importarle.
A seconda della modalità con cui si importa il modulo cambia la tecnica con cui le funzioni potranno essere chiamate
import modulo
x=modulo.funzione1()
y=modulo.funzione2()
import math
x=math.factorial(10)
y=math.sqrt(10)
Tutte le funzioni del modulo possono essere richiamate tramite il nome completo
import modulo1
import modulo2
x=modulo1.funzione1()
y=modulo2.funzione2()
import math
import random
x=math.factorial(10)
y=random.random()
Importare più moduli
import modulo1, modulo2
x=modulo1.funzione1()
y=modulo2.funzione2()
import math,random
x=math.factorial(10)
y=random.random()
Importare più moduli
Più sintetico, meno leggibile…
import modulo
f1=modulo.funzione1
x=f1()
y=modulo.funzione2()
import math
f=math.factorial
x=f(10)
y=math.sqrt(10)
A una funzione, di uso frequente, può essere assegnato un nome più amichevole (?)
import modulo as m
x=m.funzione1()
y=m.funzione2()
import math as m
x=m.factorial(10)
y=m.sqrt(10)
A un modulo, di uso frequente, può essere assegnato un nome più amichevole (!)
from modulo import *
x=funzione1()
y=funzione2()
from math import *
x=factorial(10)
y=sqrt(10)
Tutte le funzioni di un modulo possono essere richiamate con il solo nome
from modulo import funzione1
from modulo import funzione2
x=funzione1()
y=funzione2()
from math import factorial
from math import sqrt
x=factorial(10)
y=sqrt(10)
Le funzioni di uso più frequente possono essere richiamate con il solo nome
from modulo import funzione1,funzione2
x=funzione1()
y=funzione2()
from math import factorial,sqrt
x=factorial(10)
y=sqrt(10)
…
from modulo import funzione1 as f1
from modulo import funzione2 as f2
x=f1(10)
y=f2(10)
from math import factorial as f1
from math import sqrt as f2
x=f1(10)
y=f2(10)
Le funzioni di uso più frequente possono essere richiamate con il solo nome amichevole