import

I moduli permettono di estendere le funzionalità del linguaggio di base

  1. Un modulo contiene del codice utile per la risoluzione di una certa categoria di problemi.
  2. Come è fatto un modulo? Dove si trovano i moduli?
  3. I moduli nativi, standard, sono progettati e garantiti dalla community di Python; sono quelli compresi nella distribuzione ufficiale.
  4. I moduli di terze parti, extra, sono resi disponibili dal mondo dell’open source.
  5. 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