Ambito della variabile
Ultimo aggiornamento il 2025-11-06 | Modifica questa pagina
Panoramica
Domande
- Come funzionano le chiamate di funzione?
- Come posso determinare dove si sono verificati gli errori?
Obiettivi
- Identificare le variabili locali e globali.
- Identificare i parametri come variabili locali.
- Leggere un traceback e determinare il numero di file, funzione e riga in cui si è verificato l’errore, il tipo di errore e il messaggio di errore.
L’ambito di una variabile è la parte del programma che può “vedere” quella variabile.
- Ci sono solo tanti nomi sensati per le variabili.
- Le persone che usano le funzioni non dovrebbero preoccuparsi dei nomi delle variabili usati dall’autore della funzione.
- Chi scrive funzioni non dovrebbe preoccuparsi di quali nomi di variabili usa il chiamante della funzione.
- La parte di un programma in cui una variabile è visibile è chiamata il suo scope.
-
pressureè una variabile globale.- Definita al di fuori di una particolare funzione.
- Visibile ovunque.
-
tetemperaturesono variabili locali inadjust.- Definita nella funzione.
- Non visibile nel programma principale.
- Ricordate: un parametro di funzione è una variabile a cui viene automaticamente assegnato un valore quando la funzione viene chiamata.
OUTPUT
adjusted: 0.01238691049085659
ERRORE
Traceback (most recent call last):
File "/Users/swcarpentry/foo.py", line 8, in <module>
print('temperature after call:', temperature)
NameError: name 'temperature' is not defined
Lettura dei messaggi di errore
Leggete il traceback qui sotto e identificate quanto segue:
- Quanti livelli ha il traceback?
- Qual è il nome del file in cui si è verificato l’errore?
- Qual è il nome della funzione in cui si è verificato l’errore?
- Su quale numero di riga di questa funzione si è verificato l’errore?
- Qual è il tipo di errore?
- Qual è il messaggio di errore?
ERRORE
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-2-e4c4cbafeeb5> in <module>()
1 import errors_02
----> 2 errors_02.print_friday_message()
/Users/ghopper/thesis/code/errors_02.py in print_friday_message()
13
14 def print_friday_message():
---> 15 print_message("Friday")
/Users/ghopper/thesis/code/errors_02.py in print_message(day)
9 "sunday": "Aw, the weekend is almost over."
10 }
---> 11 print(messages[day])
12
13
KeyError: 'Friday'
- Tre livelli.
errors_02.pyprint_message- Riga 11
-
KeyError. Questi errori si verificano quando si cerca di cercare una chiave che non esiste (di solito in una struttura di dati come un dizionario). Per maggiori informazioni suKeyErrore su altre eccezioni integrate, consultare i Python docs. KeyError: 'Friday'
- L’ambito di una variabile è la parte del programma che può “vedere” quella variabile.