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.
Tutte le funzioni del modulo possono essere richiamate tramite il nome completo
import modulo
x=modulo.funzione1()
y=modulo.funzione2()
import math
x=math.factorial(10)
y=math.sqrt(10)
Importare più moduli
import modulo1
import modulo2
x=modulo1.funzione1()
y=modulo2.funzione2()
import math
import random
x=math.factorial(10)
y=random.random()
Importare più moduli: più sintetico, meno leggibile…
import modulo1, modulo2
x=modulo1.funzione1()
y=modulo2.funzione2()
import math, random
x=math.factorial(10)
y=random.random()
A una funzione, di uso frequente, può essere assegnato un nome più amichevole (?)
import modulo
f1=modulo.funzione1
x=f1()
y=modulo.funzione2()
import math
f=math.factorial
x=f(10)
y=math.sqrt(10)
A un modulo, 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)
Tutte le funzioni di un modulo possono essere richiamate con il solo nome
from modulo import *
x=funzione1()
y=funzione2()
from math import *
x=factorial(10)
y=sqrt(10)
Le funzioni di uso più frequente 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)
from modulo import funzione1, funzione2
x=funzione1()
y=funzione2()
from math import factorial, sqrt
x=factorial(10)
y=sqrt(10)
Le funzioni di uso più frequente possono essere richiamate con il solo nome amichevole
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)