La Standard Library
La Standard Library di Python mette a disposizione tutta una serie di moduli già realizzati per molti utilizzi differenti.
I programmi di installazione Python per la piattaforma Windows di solito includono l’intera libreria standard e spesso includono anche molti componenti aggiuntivi. Per i sistemi operativi Unix-like Python viene normalmente fornito come una raccolta di pacchetti, quindi potrebbe essere necessario utilizzare gli strumenti di pacchettizzazione forniti con il sistema operativo per ottenere alcuni o tutti i componenti opzionali.
Ad esempio il modulo os ci permette di utilizzare molte funzioni del nostro sistema operativo.
import os
# otteniamo il path alla directory corrente
cwd = os.getcwd()
print(cwd)
Oppure il modulo datetime ci permette di ottenere data e ora corrente ed effetturare operazioni su date.
import datetime
#il metodo now ci permette di ottenere data e ora correnti
print(datetime.datetime.now())
Un’altro modulo simile è il modulo time, vediamo un esempio di come utilizzarlo per calcolare il tempo di esecuzione di una funzione.
import time
n = 2
pow = 10
n_pow = n
tick = time.time()
for _ in range(pow):
n_pow*=n
duration = time.time()-tick
print("La %d° potenza di %d è %d" % (pow, n, n_pow))
print("Tempo di esecuzione: %.5f secondi" % duration)
l metodo time() ci permette di ottenere il timestamp corrente, cioè i secondi trascorsi dall’epoca. L’epoca è il punto in cui il tempo inizia per un computer e dipende dal sistema operativo, ad esempio per Unix/Linux è l’1 Gennaio 1970 per Windows è L’1 Gennaio 1601.
from time import time
from math import pow
n = 2
pow = 10
tick = time()
pow(2,10)
# il tempo di esecuzione è la differenza tra i timestamp
duration = time()-tick
print("La %d° potenza di %d è %d" % (pow, n, n_pow))
print("Tempo di esecuzione: %.5f secondi" % duration)
Abbiamo commesso un errore, riesci a vederlo ?
Il problema è che la funzione pow del modulo math si chiama come la nostra variabile e Python pensa che stiamo cercando di trattare la nostra varaibile come una funzione, quindi genera un’eccezione di tipo TypeError. La soluzione migliore sarebbe rinominare la variabile, noi piuttosto creiamo un alias della funzione pow.
from time import time
from math import pow as power
n = 2
pow = 10
tick = time()
n_pow = power(n, pow)
duration = time()-tick
print("La %d° potenza di %d è %d" % (pow, n, n_pow))
print("Tempo di esecuzione: %.5f secondi" % duration)
Python Package Index (PyPI)
Oltre ai moduli della Standard Library, Python ci da la possibilità di installare e utilizzare moduli creati da sviluppatori terzi, contenuti all’interno del Python Package Index (PyPI). Per installare uno di questi moduli possiamo usare pip, il gestore di pacchetti Python per eccellenza, utilizzabile da riga di comando e che viene installato automaticamente insieme a Python (se per qualche oscuro motivo pip non è stato installato insieme a Python, fai riferimento a questa guida per installarlo manualmente).
Utilizziamo pip per installare numpy, una utilissima libreria Python per il calcolo scientifico.
!pip install numpy
NOTA BENE pip è un software che va utilizzato da terminale, in Jupyter Notebook possiamo eseguire un comando da terminale aggiungendo un (!) prima del comando.
Una volta installato possiamo usare Numpy importandolo come qualsiasi altro modulo.
from time import time import numpy as np n = 2 power = 10 tick = time() np_pow = np.power(n, power) duration = time()-tick print("La %d° potenza di %d è %s" % (power, n, n_pow)) print("Tempo di esecuzione: %.5f secondi" % duration)
Altri comandi utili di pip sono:
- pip uninstall nome_modulo (per rimuovere un modulo)
- pip install nome_modulo –upgrade (per aggiornare un modulo)
(95)
Altri articoli nella categoria "Lezioni di Python"
- Break-Even Point nel Franchising: Calcolo Avanzato, Automazione e Royalty (con Modelli in Python)
- Regressione lineare: esercizi progressivi dai minimi quadrati alla regressione multipla
- Microeconomia applicata: choke price, domanda esponenziale, segmentazione e prezzo ottimale – Parte 2
- Microeconomia applicata: choke price, prezzo di riserva massimo e prezzo ottimale
- Quanti Centri Ha una Figura Geometrica? Dal Baricentro al Pentagramma
- Microeconomia Computazionale: Come la Domanda di Mercato Emerge dai Comportamenti Individuali
- Legge di Benford e Data Quality nel Marketing: Guida, Formule ed Esercizi Python
- Microeconomia dell’AI: 6 esercizi matematici su costi, pricing, domanda ed elasticità
- Equazioni trascendenti: come risolverle con Python, dal punto fisso a Newton e Brent
- Equazioni Omogenee Esponenziali: Guida Pratica con Esercizi Svolti e Applicazioni