Ámbito de una variable
Última actualización: 2025-02-28 | Mejora esta página
Tiempo estimado: 20 minutos
Hoja de ruta
Preguntas
- ¿Cómo funcionan realmente las llamadas a funciones?
- ¿Cómo puedo determinar dónde se han producido los errores?
Objetivos
- Identifica las variables locales y globales.
- Identifica parámetros como variables locales.
- Lee un traceback y determina el archivo, función y número de línea en el que ocurrió el error, el tipo de error y el mensaje de error.
El ámbito de una variable es la parte de un programa que puede ‘ver’ esa variable.
- Hay un número limitado de nombres sensatos para las variables.
- La gente que usa funciones no debería tener que preocuparse de qué nombres de variables usó el autor de la función.
- La gente que escribe funciones no debería preocuparse por los nombres de las variables que usa el invocador de la función.
- La parte de un programa en la que una variable es visible se llama su ámbito.
-
pressure
es una variable global.- Definida fuera de cualquier función particular.
- Visible en todas partes.
-
t
ytemperature
son variables locales enadjust
.- Definida en la función.
- No visible en el programa principal.
- Recuerda: un parámetro de función es una variable a la que se le asigna automáticamente un valor cuando se llama a la función.
SALIDA
adjusted: 0.01238691049085659
ERROR
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
Lectura de mensajes de error
Lee el traceback de abajo, e identifica lo siguiente:
- ¿Cuántos niveles tiene el traceback?
- ¿Cuál es el nombre del fichero donde se ha producido el error?
- ¿Cuál es el nombre de la función en la que se ha producido el error?
- ¿En qué número de línea de esta función se produjo el error?
- ¿Cuál es el tipo de error?
- ¿Cuál es el mensaje de error?
ERROR
---------------------------------------------------------------------------
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'
- Tres niveles.
errors_02.py
print_message
- Línea 11
-
KeyError
. Estos errores se producen cuando intentamos buscar una clave que no existe (normalmente en una estructura de datos como un diccionario). Podemos encontrar más información sobreKeyError
y otras excepciones incorporadas en los Python docs. KeyError: 'Friday'
Puntos Clave
- El ámbito de una variable es la parte de un programa que puede ‘ver’ esa variable.