lettura facile

I moduli in Python

In questa lezione del corso Python ti parlo dei moduli in Python, come vengono utilizzati e come possono migliorare la tua programmazione.

Cosa sono i moduli? Nel linguaggio Python un modulo è un file che contiene definizioni, funzioni e istruzioni. In sostanza, è una libreria di funzioni. I moduli ti permettono di utilizzare delle funzioni già sviluppate, senza doverle scrivere nuovamente. Ad esempio, nel modulo "math" trovi tutte le funzioni matematiche, nel modulo "statistics" le funzioni statistiche e via dicendo. Questo rende il tuo codice più leggibile e gestibile, specialmente se il progetto è di grandi dimensioni.

I moduli possono contenere definizioni di funzioni, classi e variabili, così come codice eseguibile.

A cosa servono?

Una volta definito un modulo, puoi utilizzarlo in qualsiasi script.

Oltre a creare i tuoi moduli personalizzati, puoi anche utilizzare quelli sviluppati da altri, messi a disposizione dalla community dei programmatori Python.

Come si utilizzano i moduli?

Per utilizzare un modulo in Python, devi prima importarlo tramite l'istruzione import.

import nome_modulo

Ad esempio, se vuoi utilizzare il modulo math, che contiene molte funzioni matematiche utili, devi eseguire il comando import math

import math

Quando un modulo viene importato, Python lo compila in un oggetto bytecode e lo rende utilizzabile.

Dopo aver importato il modulo, puoi accedere alle sue funzioni utilizzando la notazione punto.

Ad esempio, nel modulo math c'è un'apposita funzione sqrt() che calcola la radice quadrata di un numero.

Per utilizzarla dovresti scrivere math.sqrt()

  1. import math
  2. x = 16
  3. sqrt_x = math.sqrt(x)
  4. print(sqrt_x)

Questo semplice script calcola la radice quadrata di 16.

Il risultato è 4

4.0

Ricorda che l'istruzione import va eseguita solo una volta all'inizio del codice o della sessione se stai lavorando con la console di Python.

Una volta importate le funzioni del modulo nel tuo programma, puoi usarle senza dover ripetere l'operazione di importazione, ossia senza scrivere nuovamente import.

Ad esempio, questo codice utilizza la funzione sqrt() due volte.

  1. import math
  2. x = 16
  3. sqrt_x = math.sqrt(x)
  4. print(sqrt_x)
  5. x = 25
  6. sqrt_x = math.sqrt(x)
  7. print(sqrt_x)

L'istruzione import math è presente solo una volta all'inizio del codice.

Moduli standard e di terze parti

Esistono due tipi di moduli in Python: i moduli standard e i moduli di terze parti.

I moduli standard

Il linguaggio Python include una vasta libreria standard di moduli che forniscono molte funzionalità aggiuntive per una varietà di compiti.

Ad esempio, nella libreria standard trovi il modulo "math" che contiene molte funzioni utili per i calcoli matematici. Trovi anche il modulo "json" che ti aiuta a creare o elaborare i file in formato json. Altri moduli ti forniscono funzioni utili nella manipolazione di stringhe, per accedere al sistema operativo, e molto altro ancora.

Per utilizzare i moduli standard devi semplicemente importarli nel tuo codice tramite l'istruzione import

import nome_modulo

Oltre ai moduli standard, esistono anche innumerevoli moduli di terze parti disponibili che possono estendere ulteriormente le capacità di Python.

I moduli di terze parti

Per utilizzare i moduli di terze parti, devi prima installarli sul tuo computer, utilizzando il gestore di pacchetti di Python pip.

Ad esempio, il modulo requests è un popolare modulo di terze parti che semplifica l'invio di richieste HTTP.

Puoi installarlo sul tuo computer in questo modo

pip install requests

Una volta installato, puoi importarlo nel tuo script Python come qualsiasi altro modulo standard

  1. import requests
  2. response = requests.get('https://www.stemkb.com')
  3. print(response.text)

La creazione di moduli personalizzati

Oltre a importare moduli esistenti, standard o di terze parti, Python ti permette anche di creare i tuoi moduli personalizzati.

Creare un modulo è semplice come creare un nuovo file Python.

Ad esempio, digita questo codice

  1. def greet(name):
  2. print(f"Hello, {name}!")

Il codice contiene la definizione della funzione greet() che riceve un parametro in input e stampa a video una stringa di benvenuto.

Ora salva questo codice in un file con estensione ".py". Ad esempio, salvalo con il nome "mymodule.py"

Una volta salvato, puoi importare il modulo "mymodule" in uno script Python tramite l'istruzione import

  1. import mymodule
  2. mymodule.greet("Alice")

Il nome di un modulo è il nome del file senza suffisso.

Quindi, ricorda di non scrivere l'estensione ".py" quando importi il nome del modulo nel tuo programma Python.

In questo modo puoi importare e utilizzare la funzione greet() dal tuo modulo personalizzato in qualsiasi altro script, senza doverla riscrivere.

In questo caso lo script stampa sullo schermo la stringa "Hello, Alice!"

Hello, Alice!

E' un esempio molto semplice, quasi banale, ma rende l'idea delle potenzialità dei moduli personalizzati.

Tipi di moduli

Esistono diversi tipi di moduli:

  • Moduli Python
    Un modulo Python è un file con estensione .py che contiene una serie di istruzioni. Al momento dell'importazione, viene compilato in bytecode e salvato.
  • Moduli compilati
    Questi moduli sono costituiti da file che contengono istruzioni già convertite in bytecode. Quando vengono importati, vengono direttamente salvati sull'hard disk del computer. Poiché sono già in formato bytecode, non necessitano di essere compilati.
  • Moduli built-in
    I moduli built-in sono già inclusi nell'ambiente Python. Sono costituiti da istruzioni e programmi scritti in C, che vengono compilati e collegati staticamente all'interprete Python. È sufficiente importarli per poterli usare.
  • Estensioni C/C++
    Queste estensioni sono compilate e collegate dinamicamente. Generalmente, sono programmi scritti in Fortran, C o C++, e vengono compilati come librerie dinamiche. Questi file hanno estensione .dll o .pyd su sistemi operativi Windows e .so su Linux.

In conclusione, i moduli in Python sono uno strumento molto potente che ti permette di organizzare e riutilizzare il tuo codice in modo efficace.

L'utilizzo dei moduli può aiutarti a scrivere codice più pulito, più gestibile e riutilizzabile.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin