Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Utilizzo delle Asserzioni in Python: Debug e Garanzia dell'Integrità del Codice | Padronanza della Gestione degli Errori in Python
Programmazione Strutturale in Python

bookUtilizzo delle Asserzioni in Python: Debug e Garanzia dell'Integrità del Codice

In Python, l'istruzione assert è una funzionalità integrata progettata per verificare che determinate condizioni siano vere all'interno del codice. Serve come controllo di coerenza, confermando che alcuni prerequisiti siano soddisfatti in punti specifici durante l'esecuzione del programma.

La sintassi per l'istruzione assert è la seguente:

assert condition, message

In Python, le asserzioni vengono eseguite tramite l'istruzione assert. Un'asserzione verifica una condizione e, se la condizione risulta False, solleva un'eccezione AssertionError con un messaggio di errore opzionale.

12345
def calculate_average(grades): assert len(grades) > 0, "List of grades cannot be empty" return sum(grades) / len(grades) calculate_average([]) # Throw an error
copy

In questo esempio, la funzione calcola la media dei voti e l'asserzione garantisce che la lista dei voti non sia vuota prima di calcolare la media. Se la lista è vuota, l'asserzione fallisce, prevenendo la divisione per zero e indicando un chiaro errore nella logica del programma.

Ecco alcune categorie comunemente utilizzate di asserzioni:

  • Asserzioni di Valore: Queste asserzioni sono spesso impiegate in scenari di debug e test per verificare che i valori utilizzati in un programma soddisfino i criteri attesi. Ad esempio, si possono usare asserzioni come assert x >= 18 oppure, come illustrato in precedenza, assert len(grades) > 0;

  • Asserzioni di Tipo: Le asserzioni di tipo sono particolarmente utili in linguaggi dinamicamente tipizzati come Python, dove il tipo di una variabile può cambiare. Ad esempio, usando assert isinstance(x, int) si conferma che x sia effettivamente un intero;

  • Asserzioni su Collezioni: Queste asserzioni vengono utilizzate per verificare se una collezione (come una lista o un dizionario) includa determinati elementi o soddisfi criteri specifici. Esempi includono assert item in my_list oppure assert key in my_dict;

  • Asserzioni di Eccezione: Queste sono utilizzate principalmente nei test unitari (che verranno trattati nell'ultima sezione) per garantire che il codice gestisca correttamente le eccezioni. Ad esempio, assert_raises(ValueError, int, 'abc') verifica che la conversione di 'abc' in un intero sollevi un ValueError. Analogamente, assert_raises(ExceptionType, my_function, arg1, arg2) verifica che chiamare my_function con arg1 e arg2 sollevi un'eccezione di tipo ExceptionType.

Compito

Swipe to start coding

Aggiunta di asserzioni a un progetto di esempio che gestisce dati utente, garantendo che le informazioni sugli utenti soddisfino determinati criteri.

  1. Verifica che il user_id non sia già presente nel dizionario users per evitare duplicati;
  2. Assicurazione che user_id sia un intero, mantenendo la coerenza nei tipi di ID utente;
  3. Conferma che user_info venga passato come dizionario per prevenire errori di tipo dati.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you give more examples of how to use assert in Python?

What happens if I run Python with optimizations and use assert statements?

Can you explain the difference between assert and raising exceptions manually?

close

bookUtilizzo delle Asserzioni in Python: Debug e Garanzia dell'Integrità del Codice

Scorri per mostrare il menu

In Python, l'istruzione assert è una funzionalità integrata progettata per verificare che determinate condizioni siano vere all'interno del codice. Serve come controllo di coerenza, confermando che alcuni prerequisiti siano soddisfatti in punti specifici durante l'esecuzione del programma.

La sintassi per l'istruzione assert è la seguente:

assert condition, message

In Python, le asserzioni vengono eseguite tramite l'istruzione assert. Un'asserzione verifica una condizione e, se la condizione risulta False, solleva un'eccezione AssertionError con un messaggio di errore opzionale.

12345
def calculate_average(grades): assert len(grades) > 0, "List of grades cannot be empty" return sum(grades) / len(grades) calculate_average([]) # Throw an error
copy

In questo esempio, la funzione calcola la media dei voti e l'asserzione garantisce che la lista dei voti non sia vuota prima di calcolare la media. Se la lista è vuota, l'asserzione fallisce, prevenendo la divisione per zero e indicando un chiaro errore nella logica del programma.

Ecco alcune categorie comunemente utilizzate di asserzioni:

  • Asserzioni di Valore: Queste asserzioni sono spesso impiegate in scenari di debug e test per verificare che i valori utilizzati in un programma soddisfino i criteri attesi. Ad esempio, si possono usare asserzioni come assert x >= 18 oppure, come illustrato in precedenza, assert len(grades) > 0;

  • Asserzioni di Tipo: Le asserzioni di tipo sono particolarmente utili in linguaggi dinamicamente tipizzati come Python, dove il tipo di una variabile può cambiare. Ad esempio, usando assert isinstance(x, int) si conferma che x sia effettivamente un intero;

  • Asserzioni su Collezioni: Queste asserzioni vengono utilizzate per verificare se una collezione (come una lista o un dizionario) includa determinati elementi o soddisfi criteri specifici. Esempi includono assert item in my_list oppure assert key in my_dict;

  • Asserzioni di Eccezione: Queste sono utilizzate principalmente nei test unitari (che verranno trattati nell'ultima sezione) per garantire che il codice gestisca correttamente le eccezioni. Ad esempio, assert_raises(ValueError, int, 'abc') verifica che la conversione di 'abc' in un intero sollevi un ValueError. Analogamente, assert_raises(ExceptionType, my_function, arg1, arg2) verifica che chiamare my_function con arg1 e arg2 sollevi un'eccezione di tipo ExceptionType.

Compito

Swipe to start coding

Aggiunta di asserzioni a un progetto di esempio che gestisce dati utente, garantendo che le informazioni sugli utenti soddisfino determinati criteri.

  1. Verifica che il user_id non sia già presente nel dizionario users per evitare duplicati;
  2. Assicurazione che user_id sia un intero, mantenendo la coerenza nei tipi di ID utente;
  3. Conferma che user_info venga passato come dizionario per prevenire errori di tipo dati.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 4
single

single

some-alt