Como retornar valores de uma função em Python?
O comando return em Python: Uso e Melhores Práticas
O comando return
é um componente fundamental de 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 utilizados para realizar mais computações em seus programas.
Usar o comando return
de forma eficiente é uma habilidade fundamental se você deseja escrever funções personalizadas que sejam Pythonicas e robustas.
Neste tutorial, você aprenderá:
- Como usar o comando
return
em suas funções Python - Como retornar valores únicos ou múltiplos de suas funções
- Quais são as melhores práticas ao utilizar o comando
return
Começando com Funções 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 rapidamente, pois o nome deles pode ser utilizado para chamá-los de diferentes partes do seu código.
Programadores chamam esses blocos de código nomeados de subsrotinas, rotinas, procedimentos ou funções dependendo da linguagem.
Em Python, as funções são definidas usando a palavra-chave def
, seguida pelo nome da função e um par de parênteses. O bloco de código que define a função é indentado logo abaixo.
Por exemplo, aqui está uma função simples que retorna a soma de dois números:
Neste exemplo, a função soma
aceita dois argumentos (a
e b
), os soma e retorna o resultado usando o comando return
.
Entendendo o comando return em Python
O comando return
é usado para especificar o valor de retorno de uma função. Ele interrompe a execução da função e retorna o valor especificado de volta ao código que chamou a função.
Existem duas formas de usar o comando return
em Python:
Declarações de retorno explícitas
Uma declaração de retorno explícita é usada quando você deseja especificar um valor de retorno específico para uma função. Você pode usar a palavra-chave return
seguida pelo valor que deseja retornar.
Aqui está um exemplo:
Neste exemplo, a função multiplicacao
aceita dois argumentos (a
e b
), multiplica-os e armazena o resultado na variável resultado
. Em seguida, ela retorna o valor de resultado
usando a declaração return
.
Declarações de retorno implícitas
Uma declaração de retorno implícita é usada quando você deseja que a função retorne automaticamente um valor, sem especificar um comando return
. Isso acontece quando a função chega ao final do seu bloco de código.
Aqui está um exemplo:
Neste exemplo, a função saudacao
aceita um argumento nome
e concatena-o com a string “Olá, ” para criar uma mensagem de saudação. Em seguida, ele imprime a mensagem, mas não contém um comando return
. Portanto, ao chamar essa função, nenhum valor será retornado.
Retornando vs Imprimindo
É importante compreender a diferença entre retornar um valor e imprimir um valor em Python. Retornar um valor significa que você está enviando o valor de volta ao código que chamou a função, para que ele possa ser usado em outras operações ou atribuído a uma variável. Por outro lado, imprimir um valor significa que você está exibindo o valor na saída do console, mas o valor não está disponível para ser usado em outras operações.
Ao escrever funções em Python, você deve pensar cuidadosamente sobre se deseja retornar valores ou simplesmente imprimi-los. Dependendo do caso de uso, cada abordagem pode ser apropriada.
Retornando Múltiplos Valores
Em Python, você pode retornar não apenas um, mas vários valores a partir de uma função. Isso é útil quando você precisa de uma função para calcular e retornar várias informações relacionadas. Para retornar múltiplos valores, você pode simplesmente separá-los com uma vírgula após a palavra-chave return
.
Aqui está um exemplo:
Neste exemplo, a função converter_temperatura
aceita um argumento celsius
e converte-o em Fahrenheit e Kelvin. Em seguida, ela retorna os dois valores usando a declaração return
.
Ao chamar essa função, você pode armazenar os valores de retorno em duas variáveis separadas:
Neste exemplo, os valores de retorno da função converter_temperatura
são armazenados nas variáveis temp_fahrenheit
e temp_kelvin
, respectivamente. Esses valores são então impressos na saída do console.
Melhores Práticas ao Usar o Comando return
Ao usar o comando return
em suas funções Python, há algumas melhores práticas que você deve observar:
Retorne None
explicitamente
Em Python, None
é um objeto especial que representa a ausência de um valor. Se uma função não tiver um valor significativo para retornar, você deve usar a palavra-chave return
seguida por None
para indicar isso explicitamente.
Retornar None
em uma função vazia é uma forma clara de comunicar que a função não tem um valor de retorno relevante.
Lembre-se do Valor de Retorno
Quando uma função retorna um valor, é importante lembrar de capturar esse valor e atribuí-lo a uma variável se você planeja usá-lo posteriormente em seu código. Caso contrário, o valor retornado será perdido.
Neste exemplo, o valor retornado pela função calcular_quadrado
é atribuído à variável quadrado
antes de ser impresso na saída do console.
Evite Expressões Complexas
Ao usar o comando return
, é uma boa prática evitar retornar expressões complexas. Isso torna sua função mais legível e mais fácil de entender. Em vez disso, você pode armazenar o resultado da expressão em uma variável e retornar essa variável.
Neste exemplo, a função calcular_media
recebe uma lista de números e retorna a média deles. Em vez de retornar a expressão sum(numeros) / len(numeros)
diretamente, a expressão é armazenada na variável media
para maior legibilidade.
Retorne Valores vs Modificar Variáveis Globais
Uma função pode modificar variáveis globais, mas isso pode levar a resultados inesperados e dificultar a manutenção do código. Em vez disso, é uma prática recomendada retornar um valor da função e atribuí-lo a uma variável global, se necessário.
Neste exemplo, a função incrementar_valor
incrementa a variável global valor_global
em 1 e retorna o novo valor. Em seguida, o valor global é impresso na saída do console.
Use o return
com Condicionais
Você pode usar o comando return
com condicionais para controlar o fluxo de execução da sua função. O comando return
encerra a função imediatamente e retorna o valor especificado. Isso é útil quando você precisa retornar um valor com base em uma condição específica.
Neste exemplo, a função verificar_paridade
verifica se um número é par ou ímpar. Se o número for par, ela retorna True
, caso contrário, retorna False
.
Use Short-Circuiting em Loops
Você também pode usar o comando return
em loops para interromper a execução da função mais cedo, se uma determinada condição for atendida. Isso é conhecido como short-circuiting e pode ajudar a melhorar o desempenho do seu código, evitando a execução desnecessária de iterações.
Neste exemplo, a função buscar_elemento
recebe uma lista e um item e verifica se o item está presente na lista. Se o item for encontrado, ela retorna True
, caso contrário, retorna False
. Note que o comando return
interrompe o loop imediatamente quando o item é encontrado.
Reconheça Código Morto
Ao escrever funções em Python, é importante estar ciente de código morto, que é qualquer linha de código que nunca é executada devido à presença de um comando return
anterior. O código morto pode tornar seu código mais difícil de entender e manter. Certifique-se de remover ou ajustar corretamente qualquer código morto em suas funções.
Retornando Múltiplos Objetos Nomeados
Além de retornar valores simples ou múltiplos, você também pode retornar vários objetos nomeados em Python. Essa abordagem é útil quando você deseja retornar várias informações relacionadas de uma função.
Neste exemplo, a função obter_pessoa
retorna um dicionário com informações sobre uma pessoa. Os objetos são retornados com seus respectivos nomes para fácil acesso.
Conclusão
O comando return
é uma parte essencial da programação em Python. Ele permite que você retorne valores de funções, que podem ser usados em outras partes do seu código. Neste tutorial, você aprendeu como usar o comando return
para retornar valores únicos ou múltiplos, bem como algumas melhores práticas ao usá-lo.
Agora que você entende o comando return
, você será capaz de escrever funções Python mais concisas, legíveis e eficientes. Lembre-se de praticar o seu conhecimento com exemplos de código e experimentar diferentes casos de uso para aprimorar suas habilidades em Python.
Assim, você estará preparado para desenvolver programas mais avançados e alcançar um maior domínio da linguagem Python.