Una variable global es una variable cuyo alcance es un módulo completo.
Una variable libre en un bloque de código es una variable que se usa allí pero no se define allí.
A menudo se superponen.
- ¿Cuál es la diferencia entre una estructura de datos y un tipo de datos abstracto?
- ¿Qué sistema operativo utilizan los enrutadores inalámbricos domésticos?
- ¿Cuál es la complejidad computacional de un vector en crecimiento?
- ¿Cómo debo elegir una pista de informática?
- ¿Almacenar varias claves por nodo, como en B, B + Árboles, es un concepto válido?
Algunos ejemplos:
x = 1 def foo (): imprimir (x)
En el primer ejemplo, x es una variable global y, en foo, x es una variable libre . Entonces este es un caso donde se superponen.
x = 1 def foo (): x = 2 imprimir (x)
En el segundo ejemplo, hay dos variables llamadas “x” : la variable global y la variable local para foo. No hay variables libres.
(Nota al margen: para hacer referencia a la variable global x
desde foo
, use la declaración global x
.)
def bar (): x = 1 def foo (): y = 2 imprimir (x) imprimir (y)
En el tercer ejemplo, x es local para bar e y es local para foo. En foo, x es una variable libre. No hay variables globales.