El alcance en Python se refiere al espacio en el código donde una variable puede ser referenciada o utilizada. Es el área en la que una variable es visible y puede ser manipulada. Existen diferentes niveles de alcance dependiendo de dónde y cómo se declara una variable.
Los más comunes son el alcance local y el global:
1. Alcance Local: Una variable declarada dentro de una función tiene un alcance local. Solo es accesible y modificable dentro de esa función.
2. Alcance Global: Una variable declarada fuera de todas las funciones, es decir, no se encuentra en ninguna función o clase, tiene un alcance global. Esta variable puede ser accesible y modificada en cualquier parte del código, dentro y fuera de las funciones.
Nota: Python tiene una regla llamada LEGB que define el orden en el que el intérprete busca las variables en función de su alcance. LEGB significa Local, Enclosing, Global, Built-in. Esto significa que Python primero buscará la variable en el alcance local, luego en el alcance que envuelve el alcance actual (si existe), luego en el alcance global y finalmente en las funciones integradas de Python.