Python : Paralabra resevada global
La palabra reservada global
es muy útil cuando manejamos una variable externa similar a una variable interna contenida en una función de esta manera la variable externa con el mismo nombre no afecta a la variable interna con el mismo nombre contenida en la función.
Es necesesario declarar con la palabra reservada global
todas las variables internas de la función que no quieren que sean afectadas.
global var1, var2, var3
Cuando se desea manejar variables dentro y fuera de una función es necesario de la palabra reservada global, esta nos servirá para manejar variables similares dentro y fuera de una función donde es posible independizar la variable repetida interna de la externa del código fuente.
Tenemos la función siguiente :
def myfuncion():
c=a+b
print("El resultado de la suma es :",c)
a=1
b=2
myfuncion()
Obtieniendo la salida :
El resultado de la suma es : 3
Es posible observar las variables declaradas entran a la función y de esta forma intervienen en el resultado. Usaremos la palabra reservada global
para independizar las variables internas de las externas.
def myfuncion():
global a, b
a = 10
b = 20
c = a + b
print("El resultado de la suma es :",c)
a=1
b=2
myfuncion()
Se obtiene :
El resultado de la suma es : 30
Como es posible observar las variables externas no afectan las internas de la función myfuncion
. En caso de intentar de ingresar la variable c
desde el exterior y no declararla global
en el interior de la función no afectará el resultado.
En caso de declarar las variables de la función dentro del paréntesis esto será causa de error y para evitarlo es necesario quitar o comentar las variables globales internas de la función y podremos observar el mismo resultado como si ocupará la palabra reservada global
.
def myfuncion(a,b):
#global a, b
a = 10
b = 20
c = a + b
print("El resultado de la suma es :",c)
a=1
b=2
myfuncion()