Valores de retorno das funções

Concluído

Tip

Consulte a guia Texto e imagens para obter mais detalhes!

A maioria das funções úteis não faz apenas algo—produz um resultado que o chamador pode usar. Esse resultado é devolvido pela instrução return.

Devolver um valor

Use return para enviar um valor a partir de uma função. Uma vez return executada, a função termina imediatamente.

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

result = add(3, 4)
print(result)   # Output: 7

Pode usar o valor devolvido diretamente numa expressão:

print(add(10, 5) * 2)   # Output: 30

Neste exemplo, a add() função devolve a soma dos seus dois parâmetros, e esse valor é usado na expressão de multiplicação antes de ser impresso.

Devolução vs. impressão

Repare na diferença entre print() e return:

  • print() Mostra um valor para a consola.
  • return devolve um valor ao chamador para que possa ser armazenado, usado ou passado para outra função.
def add(a, b):
    print(a + b)   # Shows the result but returns None

x = add(3, 4)
print(x)           # Output: None

Se quiser usar o resultado de uma função, deve usar return em vez de print().

Retornar vários valores

Uma função pode devolver mais do que um valor separando-os com vírgulas. O Python empacota-os numa tupla que podes desempacotar no lado receptor:

#coordinates example
def get_coordinates():
    return 10.0, 20.0

x, y = get_coordinates()
print(f"x: {x}, y: {y}")   # Output: x: 10.0, y: 20.0

Funções sem valor de retorno

Uma função que não inclui uma instrução return continua a devolver algo — o valor especial None.

def greet(name):
    print(f"Hello, {name}!")

result = greet("Alex")
print(result)   # Output: None

Isso é aceitável quando o propósito da função é fazer algo (como imprimir ou escrever num ficheiro) em vez de produzir um valor.