El alcance de una variable se refiere al área donde una variable puede ser válida, porque cuando usamos una función, algunas variables se definen en el programa principal y otras se definen en la función llamada Cuando nuestro programa principal usa la función Al definir. una variable, se produce una excepción. Introduzcamos variables locales y variables globales.
Las variables locales, como sugiere el nombre, son variables que actúan en un área local. Si una variable se define en una función, solo funcionará en la función. Si una variable dentro de la función se usa fuera de la función, se producirá una excepción. .
Mira el siguiente ejemplo:
deftest():data='variable local'print('Datos de salida dentro de la función:',datos)test()print('Datos de salida en el programa principal:',datos)
La salida es:
La salida de datos dentro de la función es: variable local Traceback(mostrecentcalllast):FileC:/Users/Qingyan/PycharmProjects/untitled/venv/Include/ts.py,line6,in<module>print('Datos de salida en el programa principal: ',datos)Error de nombre: nombre'datos'no está definido
Dado que los datos variables se definen dentro de la función, cuando usamos los datos variables en el programa principal, habrá el problema de que la variable a la que se accede no existe. Por lo tanto, debemos prestar atención al hecho de que las variables definidas dentro de la función. Las funciones son variables locales, a menos que se indique lo contrario, no se podrá acceder a ellas.
También podemos entender las variables globales en el sentido literal de que son variables que actúan globalmente. Algunos estudiantes pueden pensar naturalmente que las variables globales deben ser variables definidas en el programa principal. De hecho, las variables globales también pueden actuar en funciones. Dos formas de utilizar variables globales:
El alcance de las variables que definimos en el programa principal es global y también podemos usar estas variables directamente en las funciones definidas. Vea el siguiente ejemplo:
data='Datos variables globales'deftest():print('Esta es una variable global que actúa en la función:',datos)test()print('Esta es una variable global que actúa fuera de la función:',datos)
Resultado de salida:
Esta es la variable global que actúa en la función: datos de la variable global Esta es la variable global que actúa fuera de la función: datos de la variable global
Este método es la variable global que usamos habitualmente. Las variables que definimos en el programa principal se pueden usar directamente dentro de la función.
Las variables que definimos dentro de la función también se pueden programar como variables globales. En este momento necesitamos usar la palabra clave global.
Primero, echemos un vistazo a lo que sucede cuando los nombres de las variables globales y las variables locales son iguales. Mire el siguiente ejemplo:
data='Aquí está la variable global data'print(data)deftest():data='Aquí está la variable local data'print(data)test()print('Verifique los datos de la variable global nuevamente:',data)
La salida es:
Aquí están los datos de la variable global. Aquí están los datos de la variable local. Verifique los datos de la variable global nuevamente: Aquí están los datos de la variable global.
En este ejemplo, podemos ver que cuando los nombres de las variables globales y las variables locales son iguales, no afecta el contenido de la variable global, pero si queremos modificar el valor de la variable global en la función, entonces Tienes que usar la palabra clave global.
Mire nuevamente el siguiente ejemplo:
data='Aquí está la variable global data'print(data)deftest():globaldatadata='Aquí está la variable local data'print(data)test()print('Verifique los datos de la variable global nuevamente:',data)
La salida es:
Aquí están los datos de la variable global. Aquí están los datos de la variable local. Verifique los datos de la variable global nuevamente: Aquí están los datos de la variable local.
A través de la palabra clave global, la declaración local le dice a la función que global es una variable global. Después de la modificación, todas las variables en global se modifican. La palabra clave global puede hacer que una variable se convierta en una variable global.
Cuando no hay una variable declarada globalmente, también podemos usar la palabra clave global localmente para declarar directamente una variable como una variable global. Luego, las variables que definimos en la función también se pueden usar en el programa principal.
deftest():globaldatadata='Estos son los datos variables creados localmente'print('Esta es la salida en la función:',data)test()print('Esta es la salida en el programa principal:',data)
La salida es:
Esta es la salida de la función: Estos son los datos variables creados localmente. Esta es la salida en el programa principal: Estos son los datos variables creados localmente.
A través del ejemplo anterior, podemos comprender el papel de la palabra clave global en el control de las variables globales. Además, debemos prestar atención para tratar de evitar que los nombres de las variables globales y las variables locales sean los mismos al escribir programas. áreas, afectarán la interacción entre ellas. Eso es todo por esta sección. Aprendamos sobre las funciones anónimas en la siguiente sección.