I Moduli in Python

Lezione#11 Benvenuti alla undicesima lezione del corso Python in 11 passi: vedremo oggi come importare i Moduli.
La Libreria standard di Python è strutturata in Moduli , ciascuno dei quali rappresenta un contenitore di attributi. Ad esempio, il modulo math contiene classi, funzioni e costanti che forniscono il supporto per la matematica; il modulo random fornisce il supporto per la generazione casuale di oggetti. Potremmo affermare che un modulo è un file che contiene codice python e che i moduli ci consentono di richiamare e usare questo codice quante volte vogliamo.
Un file di un Modulo ha estensione .py e può contenere funzioni, variabili e scripts.
Ma vediamo un primo esempio: proviamo ad importare il modulo datetime che include le funzioni e le classi per analizzare, formattare e compiere operazioni aritmetiche sulle date.
# script_1101.py import datetime esp_1 = datetime.date(1985, 10, 26) #formato data Anno-Mese-Giorno print("Esperimento #1 in data: " + str(esp_1))
Esperimento #1 in data: 1985-10-26
Primo passo compiuto! Con la keyword import riusciamo ad importare il modulo desiderato. Inoltre con datetime.date richiamiamo il metodo date del modulo datetime (usando la cosiddetta dot notation).
Se vogliamo una lista dei metodi e delle funzioni appartenenti al modulo possiamo usare dir(modulo).
Nel prossimo esempio, vedremo come importare specifiche funzioni di un modulo. Questo può servire a rendere più veloce l’accesso alle functions.
# script_1102.py from datetime import date, time esp_2 = date(1955, 11, 5) #formato data Anno-Mese-Giorno t = time(6, 0, 1) #formato ora:minuto:secondo print("Esperimento #2 in data: " + str(esp_2) + “ “ + str(t))
Esperimento #2 in data: 1955-11-05 06:00:01
Come si vede dall’ultimo esempio, si possono importare più funzioni dal modulo, occorre tuttavia separarle tramite virgole. Inoltre in questo modo possiamo omettere datetime e richiamare direttamente la funzione date() o la funzione time().
Una utile keyword (as) ci permette di rinominare importata con un nome che desideriamo:
# script_1103.py from datetime import date as d def date(compleanno): print("Il mio compleanno in data: " + str(compleanno)) compleanno = d(1976, 4, 19) date(compleanno)
Il mio compleanno in data: 1976-04-19
Ok! Così facendo abbiamo ridefinito date() e successivamente abbiamo richiamato quella “originale” utilizzando il suo alias (d). La keywork as è quindi utile quando si vogliono evitare conflitti all’interno di uno script, nel caso in cui si incontrano funzioni che hanno lo stesso nome.
Vedremo ora cos’è un Package , ossia una directory che contiene file con estensione .py. In generale tutti i package sono moduli ma non tutti i moduli sono package.
film.fantascienza film.thriller film.western film.action.budget
In quest’ultimo esempio abbiamo tre sottomoduli (submodules) appartenenti al modulo film. Inoltre abbiamo anche un subpackage (action) che contiene il submodule budget. Ricapitolando: un modulo in un package è un submodule, una cartella in un package è un subpackage. Sembra leggermente contorta la cosa, ma se ci si riflette un po’ appare tutto lineare.
Più in dettaglio, un Package è una cartella contenente un file __init__.py. Nel caso in cui si omettesse questo file, Python non riuscirebbe a riconoscere la cartella come package. Possiamo usare altri metodi su un subpackage?
# script_1104.py import film.action.budget p = [100, 35, 790] print("Budget: " + film.action.budget.add(p) + "mila dollari")
Budget: 925mila dollari
Il metodo add() viene applicato in coda al sottomodulo.
Siamo arrivati al termine del percorso Python in 11 Passi. Questa guida non vuole essere esaustiva, tuttavia vuole dare una base per iniziare a programmare in Python. Nei prossimi giorni pubblicherò altri esempi di questo bellissimo linguaggio. Prima di concludere però, vi lascio una easter egg di Python che si ricollega alla lezione introduttiva. Dalla console provate a importare questo e … fatemi sapere!
>>>import this
Lezione precedente <– []–> Elenco Lezioni