Como usar o comando return no Python

Publicado em: 24/04/2026
Tempo de leitura: 8 minutos

Ao iniciar sua jornada na programação, entender como trocar informações entre partes de um código é fundamental. Entender como usar o comando return no Python é o divisor de águas entre escrever scripts simples e desenvolver sistemas complexos e profissionais. Muitos iniciantes confundem a exibição de um dado na tela com a devolução real de um valor para o sistema. Nesta leitura, você descobrirá por que esse comando é capaz de interromper a execução de uma função e como ele permite que seu código seja muito mais eficiente e organizado.

O que é o comando return e qual sua função real?

Em Python, o comando return é uma instrução utilizada dentro de funções para enviar um valor de volta para quem a chamou. Imagine que uma função é como um prestador de serviço: você entrega os materiais (parâmetros), ele executa o trabalho e, ao final, te entrega o produto pronto. Esse “entrega do produto” é o papel do return.

Sem o return, a função executa suas tarefas, mas não “guarda” o resultado para uso posterior. Se você quer calcular um valor e depois usá-lo para alimentar um conversor de moedas, por exemplo, o resultado do cálculo precisa ser retornado para que a próxima etapa do código consiga lê-lo.

Por que o seu código para quando encontra um return?

Uma das dúvidas mais comuns de quem está aprendendo a lógica de programação com Python é o motivo de as linhas de código abaixo do return serem ignoradas. A resposta é simples: o return possui uma função dual. Ele não apenas devolve um valor, mas também encerra imediatamente a execução da função atual.

Quando o interpretador do Python encontra a palavra-chave return, ele empacota o valor especificado e sai da função, voltando para o ponto principal do programa. Qualquer código escrito dentro daquela mesma função, mas após o return, é considerado “código morto” (unreachable code), pois nunca será executado. Isso é extremamente útil para criar condições de saída, evitando que o programa processe dados desnecessários se um erro for detectado precocemente.

A diferença crucial entre print() e return

Este é o erro número um de quem está começando. O print() serve apenas para mostrar algo ao usuário no terminal. Ele não “dá” o valor para o programa. Já o return torna o valor disponível para ser armazenado em uma variável ou passado para outra função.

Python
def soma_com_print(a, b):
    print(a + b)

def soma_com_return(a, b):
    return a + b

# Tentando usar o resultado
resultado1 = soma_com_print(5, 5) # Aparece 10 na tela, mas resultado1 é None
resultado2 = soma_com_return(5, 5) # Não aparece nada na tela, mas resultado2 vale 10
print(resultado2 * 2) # Saída: 20

Se você estiver desenvolvendo algo como um gerenciador de senhas simples, precisará do valor retornado para verificar se a senha está correta, e não apenas imprimi-la no console.

Como retornar múltiplos valores no Python

Diferente de algumas linguagens mais rígidas como Java ou C++, o Python facilita muito a devolução de vários dados ao mesmo tempo. Ao separar valores por vírgulas após o return, o Python automaticamente os agrupa em uma estrutura chamada tupla.

Python
def calcular_estatisticas(lista_numeros):
    menor = min(lista_numeros)
    maior = max(lista_numeros)
    media = sum(lista_numeros) / len(lista_numeros)
    return menor, maior, media

minimo, maximo, avg = calcular_estatisticas([10, 20, 30])

Essa flexibilidade é essencial ao trabalhar com funções em Python que precisam processar conjuntos de dados complexos de uma só vez. Para aprender mais sobre essa linguagem, consulte a documentação oficial na Python Software Foundation.

O papel do return em estruturas condicionais

O uso estratégico do return dentro de blocos if e else permite que você limpe seu código, eliminando a necessidade de múltiplos níveis de indentação. Essa técnica é chamada de “Guarda” ou “Saída Antecipada”.

Em vez de colocar todo o código dentro de um grande else, você verifica as condições de erro primeiro e usa o return para sair o quanto antes. Veja este exemplo aplicado a um sistema que poderia ser usado para ler senhas de forma segura:

Python
def validar_acesso(usuario, senha):
    if not usuario:
        return "Usuário inválido"
    if len(senha) < 8:
        return "Senha muito curta"
    
    # Se chegou aqui, os dados são válidos
    return "Acesso permitido"

Retornando funções e expressões complexas

No Python, tudo é um objeto. Isso significa que você pode retornar até mesmo outras funções ou classes. Esse conceito é a base de recursos avançados como os decoradores em Python. Além disso, é possível retornar o resultado de expressões lógicas, o que resulta em valores booleanos (True ou False).

Ao entender esse comportamento, você ganha poder para utilizar o return de forma criativa, integrando-o com o operador ternário para escrever funções de uma única linha que são extremamente poderosas e legíveis.

Boas práticas ao usar o return

Para manter seu código profissional, siga algumas diretrizes recomendadas pela comunidade, como as descritas no guia de estilo PEP 8:

  • Consistência: Se uma função pode retornar um valor em um ponto, ela deve retornar algo (mesmo que seja None) em todos os pontos de saída possíveis.
  • Simplicidade: Evite funções que retornam tipos de dados completamente diferentes (ex: uma hora retorna uma string, outra hora um dicionário), pois isso confunde quem usa seu código.
  • Documentação: Sempre use Docstrings para especificar o que sua função retorna.

Se você estiver enfrentando problemas onde sua função parece parar sem motivo, verifique se não há um return acidental dentro de um loop. Um erro comum é colocar o retorno dentro de um for, fazendo com que o loop execute apenas uma única vez e pare.

Exemplos práticos de aplicação

Vamos ver como o return se comporta em um cenário de manipulação de dados, algo muito comum para quem trabalha com análise de dados com pandas e numpy. Imagine que precisamos limpar uma string de preço recebida de um site.

Python
def limpar_preco(texto):
    if "R$" in texto:
        valor_limpo = texto.replace("R$", "").strip()
        return float(valor_limpo)
    return 0.0

preco_final = limpar_preco("R$ 150,00".replace(",", "."))
print(f"O valor para cálculo é: {preco_final}")

Note que o return permite que transformemos o dado sujo em um número real que pode ser somado, multiplicado ou guardado em um banco de dados.

O que acontece se eu esquecer o return?

Toda função no Python retorna algo. Se você não escrever explicitamente a palavra return, a função retornará automaticamente o valor None. Isso é frequente em funções que realizam ações (como salvar um arquivo) em vez de cálculos. No entanto, tentar realizar operações matemáticas com o resultado de uma função que não tem return causará um erro de tipo (TypeError).

Para entender melhor como lidar com essas ausências de valor, é recomendável estudar sobre o None no Python e como ele impacta o fluxo do seu software.

Perguntas Frequentes

O return pode ser usado fora de uma função?

Não. O uso do return fora de uma função resultará em um erro de sintaxe (SyntaxError). Ele é exclusivo para o escopo de funções.

Posso ter mais de um return na mesma função?

Sim, você pode ter vários. No entanto, apenas o primeiro que for alcançado pelo fluxo de execução será processado, finalizando a função naquele momento.

Qual a diferença entre return e yield?

O return encerra a função e devolve o valor. O yield pausa a função e devolve um valor, permitindo que ela continue de onde parou depois, criando o que chamamos de geradores.

O return interrompe um loop for ou while?

Sim. Se o return estiver dentro de um loop que, por sua vez, está dentro de uma função, ele interromperá tanto o loop quanto a própria função imediatamente.

Posso retornar uma lista ou um dicionário?

Com certeza. O Python permite retornar qualquer tipo de objeto, incluindo listas complexas, dicionários, objetos de classes personalizadas e até outras funções.

É obrigatório colocar parênteses no return?

Não é necessário usar parênteses, como em return (valor). O padrão idiomático do Python é usar apenas return valor.

Como retornar nada de forma explícita?

Você pode usar apenas a palavra return sozinha ou return None. Ambos encerrarão a função e devolverão o valor nulo do Python.

O return aceita expressões lógicas?

Sim, você pode fazer algo como return x > 10. A função avaliará a expressão e retornará True ou False conforme o resultado.

Dominar o comando return é o que separa os amadores dos programadores que escrevem códigos reutilizáveis e limpos. Agora que você entende como ele controla o fluxo e a saída de dados, experimente refatorar seus scripts antigos substituindo print() por retornos lógicos e veja como a estrutura do seu projeto se torna muito mais profissional e fácil de testar.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Ilustração minimalista do símbolo de Python entre blocos, capa do guia dos melhores cursos de Python
    Fundamentos
    Foto do Leandro Hirt

    8 Melhores Cursos de Python de 2026 Para Iniciantes

    Você quer aprender a programar, mas não sabe por onde começar. Talvez você tenha ouvido falar que Python é a

    Ler mais

    Tempo de leitura: 11 minutos
    15/04/2026
    Fundamentos
    Foto do Leandro Hirt

    Como usar f‑strings para formatar números e moedas no Python

    Dominar a exibição de dados é uma das habilidades mais essenciais para qualquer desenvolvedor, e aprender como usar f-strings para

    Ler mais

    Tempo de leitura: 10 minutos
    13/04/2026
    Fundamentos
    Foto do Leandro Hirt

    Por que meu loop nunca termina? Descubra a solução

    Você acabou de escrever um script incrível, aperta o botão de executar e, de repente, o cursor fica piscando infinitamente

    Ler mais

    Tempo de leitura: 9 minutos
    01/04/2026
    Fundamentos
    Foto do Leandro Hirt

    Como baixar vídeos do YouTube com Python em 5 minutos

    Você já se perguntou como transformar horas de conteúdo do YouTube em arquivos locais para assistir offline? Seja para estudar

    Ler mais

    Tempo de leitura: 10 minutos
    22/03/2026
    Fundamentos
    Foto do Leandro Hirt

    == vs is em Python: descubra o que realmente acontece

    Você já se deparou com uma situação em que dois objetos parecem idênticos, mas o Python insiste que eles são

    Ler mais

    Tempo de leitura: 9 minutos
    21/03/2026
    Fundamentos
    Foto do Leandro Hirt

    Como criar um menu interativo no terminal com Python

    Criar uma interface eficiente para o usuário não exige sempre o desenvolvimento de janelas complexas ou botões coloridos. Muitas vezes,

    Ler mais

    Tempo de leitura: 10 minutos
    20/03/2026