Come creare e utilizzare un modulo Python personalizzato

26 set 2023 2 min di lettura
Come creare e utilizzare un modulo Python personalizzato
Indice dei contenuti

Introduzione

I moduli Python sono un modo conveniente per incapsulare e organizzare codice riutilizzabile. Se ti ritrovi a copiare e incollare lo stesso codice su più script o progetti, è una buona indicazione che dovresti prendere in considerazione la creazione di un modulo personalizzato. In questo articolo ti guideremo attraverso il processo di creazione e utilizzo del tuo modulo Python personalizzato.

Comprendere le nozioni di base

Un modulo in Python è semplicemente un file contenente definizioni e istruzioni Python. Il nome del file è il nome del modulo seguito dall'estensione .py . Ad esempio, un modulo denominato mymodule verrebbe salvato come mymodule.py .

Creare il modulo

Per il nostro esempio, supponiamo che tu abbia alcune funzioni matematiche che desideri riutilizzare nei progetti. Quindi puoi scriverli in un singolo file e poi riutilizzarli come modulo in altri script Python.

Ad esempio, ho creato di seguito lo script Python mymath.py che include funzioni di aggiunta, sottrazione, moltiplicazione e divisione.

# mymath.py

def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    if y == 0:
        return "Undefined (division by zero)"
    return x / y

Qui abbiamo creato un semplice modulo mymath.py con quattro funzioni aritmetiche di base.

Utilizzare il modulo

Ora vediamo come possiamo utilizzare questo modulo personalizzato in un altro script Python. Qui possiamo usare l'istruzione import con il nome file dello script del modulo Python senza estensione. Vedi l'esempio sotto:

# main.py

# Importing our custom module
import mymath

# Using functions from our module
print(mymath.add(5, 3))
print(mymath.subtract(5, 3))
print(mymath.multiply(5, 3))
print(mymath.divide(5, 3))

Nota: assicurati che sia main.py che mymath.py siano nella stessa directory o che mymath.py sia in una directory che si trova in sys.path di Python .

Utilizzando l'istruzione from...import

In alcuni casi, potrebbe essere necessario utilizzare alcune funzioni solo dal modulo. Quindi, invece di importare l'intero modulo, puoi anche importare funzioni specifiche:

from mymath import add, subtract

print(add(5, 3))
print(subtract(5, 3))

Utilizzo __name__

Nei moduli più grandi, potresti voler testare il tuo codice. L' __name__attributo consente di verificare se il modulo viene eseguito direttamente o importato altrove:

# mymath.py

def add(x, y):
    # ... (same as above)

# ... other functions ...

if __name__ == "__main__":
    print("Running tests for mymath module")
    assert add(2, 3) == 5
    # ... more tests ...

Organizza più moduli con pacchetti

Se disponi di più moduli correlati, puoi organizzarli in un pacchetto. Un pacchetto è semplicemente un modo per raccogliere insieme moduli correlati all'interno di un'unica gerarchia di directory.

Ad esempio, per creare un pacchetto denominato miopacchetto :

Crea una directory denominata miopacchetto .

mkdir mypackage 

Aggiungi un file vuoto chiamato __init__.py alla directory (questo fa sì che Python consideri la directory come un pacchetto o sottopacchetto).

touch ./mypackage/__init__.py 

Posiziona i file del modulo correlati nella directory mypackage .

Quindi, puoi importare moduli da questo pacchetto utilizzando:

from mypackage import mymath

Distribuire il modulo

Se ritieni che il tuo modulo possa avvantaggiare la più ampia comunità Python, considera la possibilità di distribuirlo tramite Python Package Index (PyPI). Innanzitutto, lo impacchetterai utilizzando setuptools, quindi potrai distribuirlo con lo spago.

Conclusione

Creare e utilizzare moduli Python personalizzati è una competenza essenziale, soprattutto quando i tuoi progetti diventano sempre più complessi. I moduli aiutano a scomporre sistemi complessi, a promuovere il riutilizzo del codice e a mantenere una base di codice più pulita. Mentre continui il tuo viaggio con Python, pensa ai moduli come al tuo fidato kit di strumenti, sempre pronto ad aiutarti a creare grandi cose.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.