Introduzione
Python è uno dei linguaggi di programmazione più comunemente usati in tutto il mondo. I moduli sono una parte fondamentale del codice Python. Un modulo è semplicemente un .py file nel contesto di Python 3. Questo significa che puoi fare riferimento a qualsiasi file Python come a un modulo.
È possibile ottenere questi moduli tramite la libreria predefinita. Puoi dare un'occhiata alla Python Standard Library per saperne di più. Questi vengono installati sul tuo sistema quando installi Python. In altre situazioni, puoi installare questi moduli usando il gestore di pacchetti di Python pip. Ma cosa succede se vuoi creare un modulo personalizzato? Se questo è il caso, allora sarai felice di sapere che puoi creare i tuoi moduli in Python.
In questa guida dettagliata, ti mostreremo i passaggi da seguire per scrivere e importare moduli in Python 3.
Prerequisiti
Prima di iniziare, dovrai assicurarti di avere Python 3 installato e un ambiente di programmazione configurato. Puoi seguire il nostro tutorial sull'installazione di Python 3 e sulla configurazione di un ambiente di programmazione locale su Ubuntu 16.04 per completare l'installazione nel caso in cui tu non l'abbia ancora pronta.
Come scrivere un modulo?
Cominciamo con la scrittura di un modulo. Scriveresti un modulo proprio come faresti per qualsiasi altro file Python. Un modulo tipico comprende le definizioni di funzioni, classi e variabili. Successivamente, puoi utilizzare il modulo per applicarlo ad altri programmi Python.
Per aiutarti a capire, consideriamo un esempio. Diciamo che vogliamo creare un file chiamato hello.py. Più tardi importeremo anche questo in un altro file. Il primo passo nel processo è creare una funzione. Questa funzione servirà a stampare Hello, World! in questo modo:
|
1 2 3 |
# Definisci una funzione def world(): print("Hello, World!") |
A questo punto, l'esecuzione del comando python hello.py non ti darà alcun risultato. Questo perché non abbiamo ancora fornito alcuna istruzione al programma. Per farlo funzionare, dobbiamo importare il modulo.
Come importare un modulo?
Al fine di importare il tuo modulo per renderlo una funzione, devi creare un secondo file nella stessa directory. Chiameremo questo nuovo file main_program.py. Il motivo per cui entrambi i file devono trovarsi nella stessa directory è che dobbiamo guidare il programma su dove trovare il modulo. Questo è applicabile a qualsiasi nuovo modulo personalizzato che non sia integrato:
|
1 2 3 4 5 |
# Importa il modulo hello import hello # Chiama la funzione hello.world() |
Abbiamo usato la notazione con il punto per il nome del modulo per chiamare la funzione. Un altro modo per farlo è usare il metodo from...import. Qui, chiameremo la funzione come world() importando il modulo come from hello import world. Infine, puoi eseguire il comando:
|
1 |
python main_program.py |
Il comando ti mostrerà il seguente output:
|
1 2 |
Output: Hello, World! |
Aggiungere variabili a un modulo
Successivamente, vedremo come aggiungere variabili al modulo inserendo le definizioni nel modulo:
|
1 2 3 4 5 6 |
# Definisci una funzione def world(): print("Hello, World!") # Definisci una variabile shark = "Sammy" |
Successivamente, chiamerai la variabile nella funzione print(). La chiameremo all'interno del file main_program.py :
|
1 2 3 4 5 6 7 |
# Importa il modulo hello import hello # Chiama la funzione hello.world() # Stampa la variabile print(hello.shark) |
L'esecuzione del programma mostrerà questo output:
|
1 2 3 |
Output: Hello, World! Sammy |
Aggiungere una classe a un modulo
Infine, vedremo come puoi definire una classe nel tuo file per il modulo. Continuando il nostro esempio, creeremo una nuova classe chiamata Octopus nel file hello.py. Le assegneremo anche gli attributi di name e color. Quindi, aggiungeremo una funzione per renderla stampabile:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# Definisci una funzione def world(): print("Ciao, mondo!") # Definisci una variabile shark = "Sammy" # Definisci una classe class Octopus: def __init__(self, name, color): self.color = color self.name = name def tell_me_about_the_octopus(self): print("Questo polpo è " + self.color + ".") print(self.name + " è il nome del polpo.") |
Successivamente, devi aggiungere la classe quasi alla fine del main_program.py file:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Importa il modulo hello import hello # Chiama la funzione hello.world() # Stampa la variabile print(hello.shark) # Chiama la classe jesse = hello.Octopus("Jesse", "arancione") jesse.tell_me_about_the_octopus() |
Puoi chiamare la classe con il comando hello.Octopus(). Ti mostrerà le funzioni e gli attributi della classe Octopus nel namespace del file. Pertanto, puoi scrivere jesse.tell_me_about_the_octopus() nell'ultima riga senza invocare hello. È anche possibile chiamare un singolo attributo della classe senza usare hello. Ad esempio, puoi semplicemente eseguire jesse.color. Quando esegui il programma, mostrerà il seguente output:
|
1 2 3 4 5 |
Output: Ciao, mondo! Sammy Questo polpo è arancione. Jesse è il nome 'del polpo. |
Implementazione del codice con i moduli
Laddove puoi usare i moduli per specificare le definizioni, puoi anche usarli per implementare il codice. Diciamo che vogliamo implementare la funzione world(). Riscriveremo il nostro file iniziale hello.py completamente:
|
1 2 3 4 5 6 |
# Definisci una funzione def world(): print("Ciao, mondo!") # Chiama la funzione all'interno del modulo world() |
Dal file main_program.py elimineremo tutto tranne l'istruzione di importazione, lasciando quanto segue:
|
1 2 |
# Importa il modulo hello import hello |
L'esecuzione del file di programma principale ti fornirà questo output poiché il programma implementa ed esegue la funzione world() :
|
1 2 |
Output: Ciao, mondo! |
Come accedere a un modulo da un'altra directory?
Ora che sai come creare e modificare i moduli, devi sapere come accedervi da un'altra directory. Questo è utile quando hai bisogno di usare un determinato modulo in un altro progetto. Ci sono due modi per farlo, che spiegheremo di seguito.
-
Aggiunta di percorsi
Il primo metodo consiste nell'attivare il percorso del modulo utilizzando i file di programmazione che stanno già utilizzando il modulo. Sfortunatamente, ciò non significa che il modulo sarà disponibile su tutto il sistema. Pertanto, è considerata solo una soluzione temporanea. Viene spesso impiegata durante la fase di sviluppo del progetto.
Puoi avviare il processo di aggiunta importando il modulo sys e altri moduli importanti che devi utilizzare. Li importeremo nel file di programma principale. Puoi trovare il modulo sys nella libreria standard di Python. Ne hai bisogno perché contiene i parametri e le funzioni di base specifici per il tuo sistema.
Consideriamo ancora una volta il nostro esempio precedente. Diciamo che il file hello.py si trova sul percorso /usr/sammy/ e il file main_program.py si trova in un'altra directory. Importeremo prima il modulo hello nel file main_program.py utilizzando prima il modulo sys. Successivamente, aggiungeremo /usr/sammy/ al percorso:
|
1 2 3 4 5 6 |
import sys sys.path.append('/usr/sammy/') import hello ... |
Se imposti il percorso correttamente, il file main_program.py il file verrà eseguito facilmente senza errori. Riceverai lo stesso output di quando entrambi i file si trovavano nella stessa directory.
-
Python Path
L'altra opzione che puoi scegliere è il Python path. Qui, aggiungeresti il modulo stesso a un percorso in cui Python cerca moduli e pacchetti. Come puoi probabilmente dedurre, questo rende il modulo disponibile a livello di sistema, rendendolo una soluzione permanente praticabile.
Per fare questo, devi capire dove Python sta cercando i moduli. Dovrai eseguire l'interprete Python dall'ambiente di programmazione che si presenta così:
|
1 |
python |
Il passo successivo consiste nell'importare il sys modulo:
|
1 |
>>> import sys |
Successivamente, stampa il percorso di sistema:
|
1 |
>>> print(sys.path) |
Ora vedrai un percorso di sistema come output. Ce ne sarà almeno uno. Tuttavia, potrebbero essercene diversi in un ambiente di programmazione. Nell'elenco, individua l'ambiente che stai utilizzando. Tieni presente che potresti voler aggiungere il modulo anche al percorso Python principale del sistema. Ecco come apparirà:
|
1 2 |
Output: '/usr/sammy/my_env/lib/python3.5/site-packages' |
Infine, sposta il hello.py file in questa directory e importa il modulo come segue:
|
1 2 |
import hello ... |
Il tentativo andrà a buon fine se il programma esegue il file senza produrre errori. Come risultato di questo processo, sarai in grado di accedere al modulo da qualsiasi directory del tuo sistema.
Conclusione
Lo scopo di questo tutorial era aiutarti a familiarizzare con la scrittura di moduli Python. È molto simile a come scriveresti qualsiasi file Python .py . Abbiamo prima parlato di cosa siano effettivamente un modulo Python e le relative funzionalità. Poi, abbiamo scoperto come applicare queste definizioni in altri file di programmazione in Python. Infine, abbiamo compreso i dettagli dell'accessibilità dei moduli. Ora sai come scrivere moduli in Python 3 e come accedervi.
Per approfondire ulteriormente la tua conoscenza del linguaggio di programmazione Python, fai riferimento al nostro blog per altre risorse:
- Python 3: Guida alla conversione dei tipi di dati
- I cicli in Python 3: Uso delle istruzioni Break, Continue e Pass
- Uso dei formattatori di stringhe in Python 3
Buona programmazione!
Commenti
Ancora nessun commento. Scrivi il primo.