Python: La Standard Library

Cerca nel sito

Altri risultati..

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Cerca nelle Categorie

Python- le variabili

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 ?

Ti potrebbe interessare anche:  Python: lavorare con le stringhe

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)
Ti potrebbe interessare anche:  Python: il problema del contachilometri

(95)

PubblicitàPubblicità