<aside> 📚 Torna all'indice dei capitoli: Corso Python

</aside>

<aside> ⬅️ Capitolo precedente:

</aside>

In questo capitolo:


Abbiamo visto come riutilizzare codice in un programma definendo funzioni.

E se invece volessimo riutilizzare alcune funzioni in programmi diversi? Ad esempio, abbiamo utilizzato le funzioni come print e len in molti dei programmi che abbiamo scritto. Possiamo fare la stessa cosa con funzioni scritte da noi? Certamente! Con i moduli.

Ci sono diversi modi di scrivere moduli in python, ma quello più semplice è creare un file con una estensione .py, proprio come qualunque altro programma Python, che contiene variabili e funzioni — potremo poi importarlo da altri programmi.

Un altro metodo è scrivere moduli nel linguaggio nativo in cui è stato scritto l'interprete du Python. Per esempio, puoi scrivere module utilizzando il linguaggio C e compilarli in modo che possano essere usati da Python — questa cosa è vera solo se utilizzi l'interprete standard di Python. Esistono anche altri interpreti scritti in altri linguaggi. Con jython, l'interprete scritto in Java, ad esempio, si potranno scrivere moduli in Java.

Un modulo può essere importato in un altro programma Python che avrà quindi accesso alle funzionalità definite nel module. È anche il modo in cui usiamo le funzionalità della libreria standard di Python.

Vediamo come usare alcune delle funzionalità della libreria standard, importandole.

import sys

print('The command line arguments are:')
for i in sys.argv:
    print(i)

print('\n\nThe PYTHONPATH is', sys.path, '\n')

Output:

$ python module_using_sys.py we are arguments
The command line arguments are:
path/to/module_using_sys.py
we
are
arguments

The PYTHONPATH is [# many entries here, not shown...]

Come funziona

Per prima cosa importiamo il modulo sys usando l'istruzione import. In pratica, questo si traduce nel dire a Python che vogliamo usare le funzionalità definite in questo modulo. Il modulo sys è uno dei moduli della libreria standard e contiene funzionalità relative all'interprete Python e all'ambiente in cui viene eseguito, cioè il sistema operativo.