Saltar a contenido

Visibilidad (scope)

El scope o visibilidad indica dónde se puede usar una variable. Hay dos opciones: local y global.

Variables locales

Las variables locales son aquellas definidas dentro de las funciones y son de uso exclusivo de la función que las crea.

Ejemplo:

# definicion de funcion, sin valores de entrada
def mostrar_a( ):
    # variable local: 'a' 
    a = 3
    print(a) 


# Código programa principal
mostrar_a( )  # '3'       
print(a)        # ERROR: variable local no visible desde afuera de su funcion

Variables globales

Las variables globales son aquellas definidas por fuera de las funciones y son visibles por fuera de ellas. Las funciones son incapaces de acceder a las variables globales, excepto cuando estas variables son declaradas adentro de las funciones con la palabra clave global :

Variables globales
nombre_variable_global = 0      #creacion 

def incrementar_global():
    # ...
    global nombre_variable_global       # declaración
    valor = nombre_variable_global      # lectura
    nombre_variable_global = 1          # modificación

Uso de variables globales

El uso de variables globales por dentro de las funciones se considera una mala práctica y es mejor evitarlo siempre que sea posible. Esto se debe a las posibles interaciones imprevistas entre varias funciones mediante una misma variable global.