Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile
Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile

Blog

Debugging del tuo codice in Python con Python debugger

Come abbiamo visto in articoli precedenti, Python è oggi considerato uno dei linguaggi di programmazione più usati al mondo. Questo grazie specialmente alla sua duttilità in ambito sviluppo software. Poiché saper programmare in Python, apre le porte ad un sacco di opportunità lavorative stimolanti e coinvolgenti.

Quindi a cosa serve Python?

Il linguaggio di programmazione nato nel febbraio del 1991 ha tantissimi campi applicativi, come data science, machine learning, web development, computer vision, intelligenza artificiale, fondamenti di robotica, analisi e visualizzazione dei dati e la lista potrebbe continuare.
Per questo imparare Python potrebbe farti diventare uno sviluppatore a 360 gradi, lanciandoti in contesti che ad oggi sono molto gettonati nel mondo dell’informatica e dello sviluppo software.

Per programmare con Python è importante saper fare il debugging del nostro codice Python.
Il debug è l’attività di ricerca e correzione di errori nello script (o più semplicemente nel programma); a differenza della compilazione, il debug viene eseguito esclusivamente per trovare errori durante l’esecuzione di un programma, che può essere sia compilato che interpretato. Seguendo il flusso dello script in esecuzione, in ogni riga di codice vengono visualizzate in tempo reale le operazioni compiute dalle istruzioni registrate nelle variabili. Per non farlo manualmente, si utilizzano software predisposti, chiamati debugger.

Quando vogliamo imparare a programmare in Python dobbiamo anche imparare a fare il debug.
Il linguaggio di programmazione mette a disposizione un modulo, chiamato Python Debugger.

Per avviarlo all’interno del nostro codice Python basta eseguire due semplici comandi:

import pdb

Per importare la nostra libreria, poi, in seguito:

pdb.set_trace()

Per avviare il debug nella riga di codice che mi interessa.

Come funziona il Python Debbuger?

Quando il nostro interprete incontra la funzione set_trace() nel flusso del codice, sospende l’esecuzione e apre la console per il debugging.
Potremo interagire con questa console ed eseguire diversi comandi per gestire il debug dello script. Per vederli tutti ci basta inserire il comando “help” all’interno della console.

Graphical user interface, text, application

Description automatically generated
Vediamo un esempio pratico:

import pdb 
for i in range(1, 10): 
    print(i)
    if (i==5): 
        pdb.set_trace() 
print("fine")

Il debugger si avvierà al quinto ciclo (i==5) e, se digito il comando list nella console del debugger visualizzeremo a che punto del programma si trova l’esecuzione. 

2 -> for i in range(1, 10):

Ora se vogliamo conoscere il valore della variabile i ci basta digitarla all’interno della console. Mentre se invece vogliamo avanzare nell’esecuzione, ci basta utilizzare il comando next.

Questa è la procedura per interagire con il debugger e individuare anomalie nel proprio script in esecuzione. Vediamo quali sono i comandi più utilizzati nel Python Debugger e a cosa servono:

  • Jump: imposta la prossima linea di codice da eseguire
  • Source: cerca di ottenere il codice sorgente per l’oggetto dato e visualizzarlo. Utile per interagire con funzioni dichiarate altrove.
  • Whatis: stampa il tipo dell’argomento presente nella riga in esecuzione.
  • Display: mostra il valore dell’espressione, se è cambiato, ogni volta che l’esecuzione si ferma nel frame corrente.
  • Continue: continua l’esecuzione del programma.
  • Exit: esce dal debugger e interrompe l’esecuzione.
  • Interact: a nostro parere il più utile e potente comando del pdb. Avvia un interprete interattivo il cui spazio dei nomi globale contiene tutti i nomi trovati nell’ambito corrente.

Questi sono solo alcuni dei comandi forniti dal Python Debugger, estremamente utile per individuare errori nel codice, specialmente se si ha a che fare con un progetto molto grande e magari non scritto da noi.
La potenza del programmare in Python risiede anche in queste funzionalità.
Avere a disposizione un modulo, importabile con un semplice comando, all’interno del codice stesso, senza dover ricorrere a tool esterni che facciano il debug, è un grande vantaggio.

Un’opzione può sempre ricadere nell’eseguire il debug “manualmente” armandosi di pazienza e inserendo di sana pianta dei breakpoint in cui, eseguendo il codice, possiamo vedere dove è presente il famigerato bug. Ma è molto dispendioso a livello di tempo.

Imparare Python è anche imparare a fare il debug, una tecnica utile e estremamente necessaria se si vuole diventare uno sviluppatore software.

Articoli correlati

Scopri i nostri corsi online certificati

Richiedi informazioni senza impegno

Seguici su Facebook

Ti interessa approfondire questi argomenti?

Abbiamo il corso che fa per te!

Scopri i nostri corsi online certificati

Richiedi informazioni senza impegno

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 210 €/mese.

Esempio di finanziamento  

Importo finanziato: € 4500 in 24 rate da € 210,03 – TAN fisso 9,68% TAEG 11,97% – importo totale del credito € 5146,55.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.