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/temporeturn 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.