La instrucción global en Python
Supongamos que tenemos una variable
global externa i. También hay una función
func que le suma una unidad a esta
variable:
i = 0
def func():
i += 1 # mostrará un error
return i
Después de ejecutar el código, se devolverá un error,
porque hay un conflicto entre la variable global
i, declarada en el código externo, y
la variable local i, a la que se le suma
1, pero la variable en sí aún no ha sido
declarada. Para solucionar este
problema y hacer que la función trabaje específicamente con
la variable global, es necesario usar la
instrucción global. Esta instrucción
es una declaración que
se ejecuta para todo el bloque de código actual
en el que se define.
Reescribamos el ejemplo anterior, declarando
en el cuerpo de la función global:
def func():
global i
i += 1
return i
print(func()) # mostrará 1
En el siguiente código, algún programador cometió un error:
num = 4
def func():
num *= 2
return num
print(func())
¿Qué está mal en este código? Encuentre y corrija el error del autor del código.
En el siguiente código, algún programador cometió un error:
num = 10
def func():
num -= 3
return i
print(func())
¿Qué está mal en este código? Encuentre y corrija el error del autor del código.