Valores de retorno das funções
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. -
returndevolve 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.