0Pricing
Python Academy · Aula

Valores de retorno e escopo

Entenda as instruções return e o escopo das variáveis (local e global).

Valores de retorno e escopo é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

Introdução

Compreender as instruções return e o escopo das variáveis é fundamental para escrever funções Python previsíveis e sem erros.

A instrução return

return expr encerra a função e envia expr de volta para quem a chamou. return sem um valor envia None.
def double(x):
    return x * 2
print(double(5))

Retorno antecipado

É perfeitamente válido ter várias instruções return — a primeira executada encerra a função. Isso é útil para cláusulas de proteção.
def abs_val(x):
    if x < 0:
        return -x
    return x
print(abs_val(-7))

Escopo local

As variáveis criadas dentro de uma função são locais — não existem fora dela.
def f():
    x = 10
    print(x)
f()
# print(x)  # NameError

Escopo global

As variáveis definidas no nível do módulo são globais. As funções podem fazer READ de variáveis globais sem declará-las.
name = 'Alice'
def greet():
    print('Hello', name)  # reads global
greet()

Palavra-chave global

global x dentro de uma função permite fazer WRITE em uma variável global. Use com moderação — isso torna o código difícil de entender.
counter = 0
def increment():
    global counter
    counter += 1
increment()
print(counter)

Palavra-chave nonlocal

nonlocal x em uma função aninhada permite fazer WRITE em uma variável de escopo envolvente, mas não global.
def make_counter():
    count = 0
    def inc():
        nonlocal count
        count += 1
        return count
    return inc
c = make_counter()
print(c(), c())

Regra LEGB

Python resolve os nomes nesta ordem: Local → Envolvente → Global → Integrado. Essa é a regra LEGB.
x = 'global'
def outer():
    x = 'enclosing'
    def inner():
        print(x)  # enclosing
    inner()
outer()

Retornando vários valores

def f(): return 1, 2, 3 retorna uma tupla. a, b, c = f() a desempacota.
def stats(lst):
    return min(lst), max(lst), sum(lst)/len(lst)
lo, hi, avg = stats([1,2,3,4,5])
print(lo, hi, avg)

Retornando funções (fechamentos)

Uma função pode retornar outra função. A função inner mantém o escopo externo — isso é um fechamento.
def make_adder(n):
    def adder(x):
        return x + n
    return adder
add5 = make_adder(5)
print(add5(3))

None versus retorno ausente

Sempre retorne None explicitamente ao indicar ausência. Depender de None implícito é válido, mas a forma explícita é mais clara.
def find(lst, val):
    for i, x in enumerate(lst):
        if x == val:
            return i
    return None
print(find([1,2,3], 9))

Verificação rápida

Na regra LEGB, qual escopo é verificado por último?

Revisão

return encerra uma função com um valor. Variáveis locais não escapam. Use global/nonlocal para fazer WRITE em escopos externos. LEGB: Local, Envolvente, Global, Integrado.

Continue avançando

Excelente trabalho! Passe para a próxima lição para continuar avançando.

Perguntas Frequentes

A aula “Valores de retorno e escopo” é grátis?

Sim — o texto completo de “Valores de retorno e escopo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Valores de retorno e escopo”?

Entenda as instruções return e o escopo das variáveis (local e global). Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Valores de retorno e escopo”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Definição e chamada de funções
  2. Argumentos padrão e nomeados
  3. args e kwargs
  4. Valores de retorno e escopo
← Voltar para Python Academy