A declaração de retorno em Python é usada para retornar valores de uma função. Podemos usar a declaração de retorno apenas em uma função. Ela não pode ser usada fora de uma função Python.
Função Python sem declaração de retorno
Toda função em Python retorna algo. Se a função não tem nenhuma declaração de retorno, então ela retorna None
.
def print_something(s):
print('Printing::', s)
output = print_something('Hi')
print(f'A function without return statement returns {output}')
Saída:

Exemplo de Declaração de Retorno Python
Podemos realizar alguma operação em uma função e retornar o resultado para o chamador usando a declaração de retorno.
def add(x, y):
result = x + y
return result
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Saída:

Declaração de retorno Python com expressão
Também podemos ter expressões na declaração de retorno. Nesse caso, a expressão é avaliada e o resultado é retornado.
def add(x, y):
return x + y
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Saída:

Python retorna booleano
Vamos olhar um exemplo onde iremos retornar o valor booleano do argumento de uma função. Vamos usar a função bool() para obter o valor booleano do objeto.
def bool_value(x):
return bool(x)
print(f'Boolean value returned by bool_value(False) is {bool_value(False)}')
print(f'Boolean value returned by bool_value(True) is {bool_value(True)}')
print(f'Boolean value returned by bool_value("Python") is {bool_value("Python")}')
Output:

Python retorna string
Vamos olhar um exemplo onde nossa função irá retornar a representação de string do argumento. Podemos usar a função str() para obter a representação de string de um objeto.
def str_value(s):
return str(s)
print(f'String value returned by str_value(False) is {str_value(False)}')
print(f'String value returned by str_value(True) is {str_value(True)}')
print(f'String value returned by str_value(10) is {str_value(10)}')
Output:

Python retorna tupla
Às vezes queremos converter uma série de variáveis em uma tupla. Vamos ver como escrever uma função para retornar uma tupla a partir de um número variável de argumentos.
def create_tuple(*args):
my_list = []
for arg in args:
my_list.append(arg * 10)
return tuple(my_list)
t = create_tuple(1, 2, 3)
print(f'Tuple returned by create_tuple(1,2,3) is {t}')
Output:

Leitura Adicional: Python *args e **kwargs
Função Python retornando outra função
Também podemos retornar uma função a partir da declaração return. Isso é semelhante ao Currying, que é a técnica de traduzir a avaliação de uma função que recebe múltiplos argumentos em avaliar uma sequência de funções, cada uma com um único argumento.
def get_cuboid_volume(h):
def volume(l, b):
return l * b * h
return volume
volume_height_10 = get_cuboid_volume(10)
cuboid_volume = volume_height_10(5, 4)
print(f'Cuboid(5, 4, 10) volume is {cuboid_volume}')
cuboid_volume = volume_height_10(2, 4)
print(f'Cuboid(2, 4, 10) volume is {cuboid_volume}')
Saída:

Função Python retornando função externa
Também podemos retornar uma função que é definida fora da função com a declaração return.
def outer(x):
return x * 10
def my_func():
return outer
output_function = my_func()
print(type(output_function))
output = output_function(5)
print(f'Output is {output}')
Saída:

Python retornando múltiplos valores
Se você deseja retornar vários valores de uma função, pode retornar um objeto de tupla, lista ou dicionário conforme sua necessidade. No entanto, se você tem que retornar um grande número de valores, então usar sequência é uma operação que consome muitos recursos. Podemos usar yield, neste caso, para retornar vários valores um a um.
def multiply_by_five(*args):
for arg in args:
yield arg * 5
a = multiply_by_five(4, 5, 6, 8)
print(a)
# mostrando os valores
for i in a:
print(i)
Saída:

Resumo
A declaração de retorno do python é usada para retornar a saída de uma função. Aprendemos que também podemos retornar uma função de outra função. Além disso, as expressões são avaliadas e então o resultado é retornado da função.
Você pode conferir o script completo em python e mais exemplos de Python em nosso Repositório GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-return-statement