6.3 Função Com Retorno

E se ao invés de apenas mostrar o resultado, quisermos utilizar a velocidade média para fazer outro cálculo, como calcular a aceleração? Da maneira como está, nossa função velocidade() não consegue utilizar seu resultado final para cálculos.

Exemplo:

aceleracao = velocidade(parametros) / tempo

Para conseguirmos este comportamento, precisamos que nossa função retorne o valor calculado por ela. Em Python e em outras linguagens de programação, isto é alcançado através do comando return:

def velocidade(espaco, tempo): v = espaco/tempo‌

return v

Testando:

print(velocidade(100, 20))

#5.0

Ou ainda, podemos atribuí-la a uma variável:

resultado = velocidade(100, 20) print(resultado)

#5.0

E conseguimos utilizá-la no cálculo da aceleração:

aceleracao = velocidade(100, 20)/20 print(aceleracao)

#0.25

Uma função pode conter mais de um comando return. Por exemplo, nossa função dados() que imprime o nome e a idade, pode agora retornar uma string. Repare que, neste caso, temos duas situações possíveis: a que a idade é passada por parâmetro e a que ela não é passada. Aqui, teremos dois comandos return:

def dados(nome, idade=None): if(idade is not None):

return (f’nome: {} \nidade: {} {nome, idade}’) else:

return (f’nome: {} \nidade: não informada {nome}’)

Apesar da função possuir dois comandos return, ela tem apenas um retorno — vai retornar um ou o outro. Quando a função encontra um comando return, ela não executa mais nada que vier depois dele dentro de seu escopo.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️