12 de mayo de 2016

15. Variables globales y locales

Variables locales y globales

Observa el siguiente programa

def f():
    return s
    
s = 10
print s
print f()
def f():
    print s
    return 
    
s = 10
print s
f()
En el programa, s es una variable global. Puede usarse en el programa principal, pero también dentro de una función. Ahora bien, en el momento que se modifica y se le asigna otro valor dentro de la función, la variable es local; sólo afecta dentro de la función.

def f():
    s=80
    print s
    return 
    
s = 10
print s
f()
print s

 Resultados: 10
80
10


------------------
(program exited with code: 0)
Press return to continue
= = =

Incluso si se quiere acceder a ella ANTES de cambiarle la asignación. El siguiente código generará un error:
def f():
    print s
    s=80
    print s
    return 
    
s = 10
print s
f()
print s
 
= = =

Ahora bien, podemos reconvertir el uso de la variable dentro de la función indicando explícitamente que es una variable global. Así, queda ésta modificada también en el programa principal.
def f():
    global s
    print s
    s=80
    print s
    return 
    
s = 10
print s
f()
print s

No hay comentarios:

Publicar un comentario