#Aprende Python# Palabras clave globales y no locales en el alcance de Python.
En términos generales, el alcance de las variables es nivel de bloque, función, clase, módulo, paquete, etc. , y los niveles son de pequeño a grande. No hay alcance a nivel de bloque en Python, por lo que cuando escribimos el código, el siguiente código es correcto.
Los alcances comunes a nivel de bloque en Python incluyen declaraciones if, for, while y with context.
Como se mencionó anteriormente, el alcance es el alcance en el que un programa Python puede acceder directamente a las variables. Hay cuatro alcances de Python I * * *, de la siguiente manera:
Un caso clásico es el siguiente:
En Python, el orden de búsqueda de variables es de adentro hacia afuera, local primero , luego externo, global e integrado. Esta regla se llama regla LEGB.
Para que el siguiente aprendizaje sea más interesante, puedes estudiar cómo cambian las variables en el siguiente código.
Las variables definidas dentro de una función tienen un alcance local y las variables definidas fuera de una función tienen un alcance global.
El resultado muestra que la función interna es 123 y la función externa sigue siendo 0.
Si desea que el interior de la función (alcance interno) modifique las variables en el alcance externo, debe utilizar la palabra clave global.
La salida en este momento es 123. Otra cosa a tener en cuenta es que si desea modificar el valor de una variable global en el contenido de la función, debe escribir la palabra clave global antes de la operación de la variable.
Habrá errores de sintaxis en este código:
También hay una pregunta de entrevista en la variable global, que aparece con frecuencia. ¿Cuál es el resultado de ejecutar el siguiente código?
Si desea modificar una variable dentro del alcance adjunto, necesita la palabra clave no local. El código de prueba es el siguiente:
Los resultados de salida los prueba usted mismo. Tenga en cuenta que las palabras clave no nativas deben ser Python3. Versión X+ y Python 2. La versión x tendrá errores de sintaxis:
En anidamientos múltiples, lo no local solo retrocederá un nivel. Si no hay rastreo en el nivel anterior, la trazabilidad continuará. Puedes comentar el siguiente código para ver los resultados.
¿Qué son las variables locales y las variables globales? Puede obtenerlos a través de dos funciones integradas: locales() y globals().
Este blog explica el alcance de la aplicación de Python y realiza investigaciones sobre palabras clave globales y no locales. Espero que le resulte útil.