Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

[Projeto] Para saber mais: escopo de uma variável

O código funciona parcialmente e gera um erro no final por causa do escopo da variável.

Dentro da função mensagem(), temos a variável saudacao, que é local, ou seja, só existe dentro da função. Já a variável nome foi definida fora da função, sendo global, então pode ser acessada dentro dela.

Quando chamamos:

mensagem()

A saída será:

Olá Daniel

Depois disso, temos:

print(nome)

Que funciona normalmente e imprime:

Daniel

Porém, ao executar:

print(saudacao)

O Python gera um erro:

NameError: name 'saudacao' is not defined

Isso acontece porque saudacao foi criada dentro da função e não existe fora dela.

Conclusão: variáveis locais não podem ser acessadas fora da função onde foram criadas, apenas variáveis globais têm esse alcance.