A instrução global em Python
Suponha que temos uma variável global externa
i. Também há uma função
func que adiciona um a essa
variável:
i = 0
def func():
i += 1 # retornará um erro
return i
Após a execução do código, retornará um erro,
porque há um conflito entre a variável global
i, declarada no código externo, e a
variável local i, à qual é adicionado
1, mas a própria variável ainda não foi
declarada. Para corrigir este
problema e fazer a função trabalhar
especificamente com a variável global, é necessário usar
a instrução global. Esta instrução
representa uma declaração que
é executada para todo o bloco de código atual
no qual está definida.
Vamos reescrever o exemplo anterior, declarando
no corpo da função global:
def func():
global i
i += 1
return i
print(func()) # retornará 1
No código a seguir, um programador cometeu um erro:
num = 4
def func():
num *= 2
return num
print(func())
O que há de errado com este código? Encontre e corrija o erro do autor do código.
No código a seguir, um programador cometeu um erro:
num = 10
def func():
num -= 3
return i
print(func())
O que há de errado com este código? Encontre e corrija o erro do autor do código.