Avatar ·

Por que a variável global não está acessível dentro da função?

📁 função, python, IA

Por favor, explique por que a função não imprime o valor de s no console

s = ""I'm global variable""def foo():    print(s)    s = 'Reset global variable'foo()

Eu presumi que, quando o interpretador chegasse à linha print(s), ele entenderia que não existe tal variável no escopo da função foo. Consequentemente, começaria a procurá-la no escopo externo, mas lá ela existe.

No entanto, como resultado, a seguinte mensagem de erro é exibida no console:

Traceback (most recent call last):  File ""index.py"", line 7, in <module>    foo()  File ""index.py"", line 4, in foo    print(s)UnboundLocalError: loca