12.3 - Tuplas como valores de retorno
Falando estritamente, uma função só pode retornar um valor, mas se o valor for uma tupla, o efeito é o mesmo que retornar valores múltiplos. Por exemplo, se você quiser dividir dois números inteiros e calcular o quociente e resto, não é eficiente calcular x/y e depois x%y. É melhor calcular ambos ao mesmo tempo.
A função integrada divmod toma dois argumentos e devolve uma tupla de dois valores: o quociente e o resto. Você pode guardar o resultado como uma tupla:
>>> t = divmod(7, 3)
>>> t
(2, 1)
Ou usar a atribuição de tuplas para guardar os elementos separadamente:
>>> quot, rem = divmod(7, 3)
>>> quot
2
>>> rem
1
Aqui está um exemplo de função que retorna uma tupla:
def min_max(t):
return min(t), max(t)
max
e min
são funções integradas que encontram os maiores e menores elementos de uma sequência. min_max
calcula ambos e retorna uma tupla de dois valores.