5. Variables Globales y Locales

Variables Globales en Python

En Python las variables declaradas fuera de una función se conocen como variables globales. Se puede acceder a estas variables tanto dentro como fuera de una función, ya que tienen un alcance global.

Por ejemplo:

def mostrar():#la función No recbie argumento.
    print(a) #a se definió en main script.
    
#main script o código principal
a=3 #a se define fuera de TODA función=> varaible Global!!
mostrar()#

La variable a en el código se declara fuera de la función. Sin embargo al llamar a la función mostrar(), se pudo acceder a a porque se declaró con un alcance global.

Otro ejemplo:

def agregar():#la función No recbie argumento.
    l.append(int(input("Ingrese un número entero:"))) #lse definió en main script.
def agregar1(x):#la función  recibe argumento.
    l.append(x) #l se definió en main script.
    
#main script o código principal
l=[1,2,3]# esta lista es global
agregar()
print(l)
agregar1(5)#paso un argumento para agregar a l
print(l)

Variables Locales en Python

Veamos qué pasa si hacemos lo contrario, si declaramos una variable dentro de una función y queremos acceder a ella fuera de la función.

def mostrar():#la función No recbie argumento.
    a=5
    print(a) #a se definió en main script.
    
#main script o código principal
print(a)# la variable a SOLO existe dentro de función mostrar.

En este caso, tenemos un NameError porque la variable a no está definida globalmente.

NameError: name 'a' is not defined

Las variables definidas dentro de las funciones se llaman variables locales. Su valor sólo se puede utilizar dentro de la función en la que se declaran.


 Tener en cuenta que no es buena idea llamar con el mismo nombre a variables locales y globales ya que se presta a confusión.