O que o return faz em Python: explicação detalhada
O comando return em Python: Uso e Melhores Práticas
O comando return é um componente fundamental das funções e métodos em Python. Ele permite que você envie objetos Python de volta para o código que chamou a função. Esses objetos são conhecidos como o valor de retorno da função e podem ser usados para realizar mais cálculos em seus programas.
Usar o comando return de forma eficaz é uma habilidade essencial se você deseja codificar funções personalizadas que sejam Pythonicas e robustas.
Neste tutorial, você aprenderá:
- Como usar o comando return em suas funções em Python
- Como retornar valores únicos ou múltiplos de suas funções
- Melhores práticas para observar ao usar comandos return
Primeiros Passos com Funções em Python
A maioria das linguagens de programação permite que você atribua um nome a um bloco de código que realiza uma determinada computação. Esses blocos de código nomeados podem ser reutilizados facilmente, pois você pode usar o nome deles para chamá-los de diferentes partes do seu código.
Programadores chamam esses blocos de código nomeados de sub-rotinas, rotinas, procedimentos ou funções, dependendo da linguagem. Em Python, você pode criar funções definindo-as usando a palavra-chave def
. Aqui está um exemplo simples de uma função em Python que adiciona dois números:
Aqui, a função adicionar
recebe dois argumentos a
e b
e retorna a soma deles. Podemos chamar essa função usando o comando print
para exibir o resultado:
O comando return
é usado para retornar o valor de uma função. Quando a função é chamada, o valor retornado pode então ser atribuído a uma variável ou usado de qualquer outra maneira desejada.
Entendendo o Comando return em Python
O comando return permite que uma função envie um valor de volta para o código que chamou a função. Isso é particularmente útil quando você deseja usar o resultado de uma função em outra parte do seu programa.
Existem dois tipos principais de declarações de retorno em Python: explícitas e implícitas.
Retornos Explícitos
Em algumas situações, você pode querer retornar explicitamente um valor específico de uma função. Para fazer isso, você simplesmente usa o comando return
seguido pelo valor desejado.
Aqui está um exemplo de uma função que verifica se um número é par ou ímpar e retorna um valor booleano:
Neste exemplo, se o número fornecido for divisível por 2, a função retorna True
. Caso contrário, ela retorna False
.
Retornos Implícitos
Em alguns casos, o comando return
não precisa ser seguido por um valor específico. Isso é conhecido como um retorno implícito ou retorno vazio. Em vez de retornar um valor específico, a função simplesmente sai e retorna None
.
Aqui está um exemplo de uma função que imprime uma mensagem de saudação sem retornar nenhum valor:
Neste exemplo, a função não possui uma declaração de retorno. Em vez disso, ela simplesmente executa a ação desejada de imprimir a saudação. Ao chamar a função, a saudação é impressa na saída, mas nenhum valor é retornado.
Retornando vs Imprimindo
Você pode estar se perguntando qual é a diferença entre retornar um valor de uma função e imprimi-lo. No Python, retornar um valor significa que a função está enviando esse valor de volta para o código que a chamou. O valor retornado pode ser armazenado em uma variável ou usado em operações futuras.
Por outro lado, imprimir um valor significa que você está exibindo esse valor na saída do programa para que possa ser visualizado. A impressão por si só não envia o valor de volta para o código que chamou a função.
Aqui está um exemplo que demonstra a diferença:
Na função somar
, o valor da soma de a
e b
é retornado usando o comando return
. O resultado é armazenado na variável resultado
e também é impresso na saída. Na função imprimir_soma
, a soma é calculada e impressa diretamente sem retornar o valor.
Retornando Múltiplos Valores
Além de retornar um único valor, as funções em Python também podem retornar múltiplos valores como resultado. Para fazer isso, você simplesmente separa os valores com uma vírgula ao usar o comando return.
Aqui está um exemplo de uma função que retorna o mínimo e o máximo de uma lista de números:
Neste exemplo, a função encontrar_min_max
retorna dois valores: o valor mínimo e o valor máximo da lista de números fornecida. Ao chamar a função, os valores são atribuídos às variáveis minimo
e maximo
e posteriormente são impressos na saída.
Melhores Práticas ao Usar o Comando return
Ao usar o comando return em suas funções Python, é importante seguir algumas melhores práticas para garantir que seu código seja legível, fácil de manter e livre de erros. Aqui estão algumas práticas recomendadas:
Retornando None Explicitamente
Em algumas situações, pode ser necessário que uma função retorne um valor nulo ou vazio. Em Python, esse valor é representado pelo objeto None
. Ao retornar um valor nulo, é uma boa prática retornar explicitamente None
para deixar claro que a função não retorna nenhum valor significativo. Isso pode ajudar na legibilidade e compreensão do código.
Lembrando do Valor de Retorno
Ao usar o resultado de uma função que retorna um valor, é importante lembrar de atribuir o valor retornado a uma variável. Não atribuir ou ignorar o valor de retorno de uma função pode levar a erros e comportamentos inesperados em seu código.
Evitando Expressões Complexas
Ao usar o comando return, evite retornar expressões muito complexas ou longas. Isso pode tornar o código difícil de entender e depurar. Se você tiver uma expressão complexa que precisa ser retornada, é recomendado quebrá-la em etapas menores e atribuir os resultados intermediários a variáveis antes de retornar.
Retornando Valores vs Modificando Variáveis Globais
Quando uma função precisa modificar uma variável global em vez de retornar um valor, isso pode ser uma prática arriscada. Modificar variáveis globais dentro de funções pode tornar o código mais difícil de ler e depurar, já que o escopo das variáveis globais se estende por todo o programa.
Em vez disso, é recomendado retornar valores da função e atribuir esses valores a variáveis globais no código que chamou a função. Isso tornará seu código mais fácil de entender e depurar.
Usando return com Condicionais
Em algumas situações, você pode querer usar o comando return junto com condicionais para interromper a execução da função em pontos específicos. O comando return irá imediatamente interromper a função e retornar o valor especificado.
Neste exemplo, a função verificar_numero
retorna diferentes mensagens dependendo do valor passado como argumento. Observe que o comando return é usado para interromper a função e retornar o valor correspondente.
Retornando Verdadeiro ou Falso
Quando uma função precisa retornar um valor booleano, como Verdadeiro (True
) ou Falso (False
), é uma boa prática retornar diretamente o valor booleano em vez de usar uma condição de retorno.
Neste exemplo, a função verificar_paridade
retorna Verdadeiro se o número fornecido for par, e Falso caso contrário.
Interrompendo Loops Prematuramente
Em algumas situações, você pode querer interromper um loop prematuramente dentro de uma função e retornar um valor específico. Nesse caso, você pode usar o comando return
para sair imediatamente do loop e retornar o valor desejado.
Neste exemplo, a função encontrar_valor
verifica se um valor específico está presente em uma lista. Se o valor for encontrado, o comando return é usado para interromper o loop e retornar Verdadeiro. Caso contrário, o loop é concluído e o retorno é Falso.
Reconhecendo Código Morto
Ao usar o comando return, é importante prestar atenção aos trechos de código que estão “mortos”, ou seja, que não serão executados devido a um return anterior. Identificar e remover o código morto é uma boa prática que pode tornar seu código mais limpo e legível.
Neste exemplo, o print dentro da declaração else
nunca será executado, pois a função será interrompida e retornará o valor “Zero” antes de chegar a esse ponto.
Retornando Múltiplos Objetos Nomeados
Python permite que você retorne múltiplos objetos em uma única declaração de retorno, usando uma estrutura chamada “packing” e “unpacking”. Você pode atribuir nomes aos objetos retornados para facilitar o acesso aos mesmos.
Neste exemplo, a função obter_usuario
retorna três objetos: nome, idade e cidade. Esses objetos são atribuídos a variáveis com nomes correspondentes ao chamar a função.
Conclusão
O comando return é uma parte essencial das funções em Python e permite que você envie valores de volta para o código que chamou a função. Ao usar o comando return de forma eficaz e seguir as melhores práticas recomendadas, você pode escrever funções Python mais legíveis, manejáveis e concisas.
Neste tutorial, você aprendeu como usar o comando return em Python, como retornar valores únicos ou múltiplos, bem como algumas melhores práticas para observar ao usar o comando return. Com esse conhecimento, você está pronto para criar suas próprias funções Python e aproveitar ao máximo o retorno de valores em suas implementações.