Global en Python

global en python

 

La sentencia聽global聽en聽Python聽es una聽declaraci贸n simple que permite modificar la variable fuera del alcance actual. Se utiliza para crear una variable global y realizar cambios en la variable en un contexto local.

Para comprender bien esta sentencia es importante conocer los siguientes aspectos:

  • Cuando creamos una variable dentro de una funci贸n, es local de forma predeterminada.
  • Cuando definimos una variable fuera de una funci贸n, es global de forma predeterminada.

C贸mo funciona global en Python

Para entender bien c贸mo funciona global en Python y sobre aprender su utilidad vamos a comenzar con un ejemplo sencillo. Primero vamos a verlo sin utilizar global y analizaremos lo que ocurre.

n = 0
def f():
    n = 9
    print("Dentro de f :",n)

f()
print("Fuera de f:",n)

Como pod茅is observar tenemos una variable global n y una funci贸n en cu谩l tenemos una variable tambi茅n llamada n. En la funci贸n vamos a cambiar su valor y la vamos a imprimir. Fuera de la funci贸n tambi茅n imprimiremos su valor.

Si ejecutamos el c贸digo obtendremos lo siguiente:

Dentro de f : 9
Fuera de f: 0

Podemos ver c贸mo dentro de la funci贸n se imprime un 9 y fuera un 0, es decir, se podr铆a decir que son tratadas como variables diferentes. Ahora es cuando entra en juego global, para conseguir precisamente que la variable de fuera se relacione con la de dentro de la funci贸n, consiguiendo que un cambio de valor en la funci贸n afecte globalmente.

Vamos a verlo mejor con el siguiente ejemplo:

n = 0
def f():
    global n
    n = 9
    print("Dentro de f :",n)

f()
print("Fuera de f:",n)

Podemos observar que el 煤nico cambio es que hemos a帽adido la sentencia global n justo antes de asignarle un valor. Con esto estamos diciendo que si cambiamos el valor de n el cambio se va a hacer en la variable declarada globalmente.

Al ejecutar este 煤ltimo c贸digo podemos ver como se imprime el mismo valor en ambos print:

Dentro de f : 9
Fuera de f: 9

Cabe destacar que el uso de la sentencia solo tiene sentido si tenemos una variable declarada globalmente en nuestro fichero, es decir, lo que hacemos en el siguiente c贸digo no tiene sentido y adem谩s producir谩 un error:

def f():
    global n
    n = 9
    print("Dentro de f :",n)

f()

Espero que hayas podido comprender c贸mo se usa esta palabra reservada, ya que en determinadas situaciones puede resultar muy 煤til. Si tienes alguna duda estar茅 encantado de responderla 馃檪

Deja un comentario